diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/fragments/SettingsFragment.java b/app/src/main/java/fr/gouv/etalab/mastodon/fragments/SettingsFragment.java
index 367299169..63878ae6b 100644
--- a/app/src/main/java/fr/gouv/etalab/mastodon/fragments/SettingsFragment.java
+++ b/app/src/main/java/fr/gouv/etalab/mastodon/fragments/SettingsFragment.java
@@ -16,6 +16,9 @@ package fr.gouv.etalab.mastodon.fragments;
import android.annotation.SuppressLint;
import android.annotation.TargetApi;
+import android.app.Activity;
+import android.media.RingtoneManager;
+import android.os.Parcelable;
import android.support.annotation.NonNull;
import android.support.v7.app.AlertDialog;
import android.content.ContentUris;
@@ -40,6 +43,7 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
+import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.EditText;
@@ -75,6 +79,7 @@ public class SettingsFragment extends Fragment {
private Context context;
private static final int ACTIVITY_CHOOSE_FILE = 411;
+ private static final int ACTIVITY_CHOOSE_SOUND = 412;
private TextView set_folder;
int count1, count2, count3 = 0;
private EditText your_api_key;
@@ -539,6 +544,18 @@ public class SettingsFragment extends Fragment {
});
+ Button set_notif_sound = rootView.findViewById(R.id.set_notif_sound);
+ set_notif_sound.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
+ intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_NOTIFICATION);
+ intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, context.getString(R.string.select_sound));
+ intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, (Uri) null);
+ startActivityForResult(intent, ACTIVITY_CHOOSE_SOUND);
+ }
+ });
+
LinearLayout toot_visibility_container = rootView.findViewById(R.id.toot_visibility_container);
String prefKeyOauthTokenT = sharedpreferences.getString(Helper.PREF_KEY_OAUTH_TOKEN, null);
@@ -751,18 +768,35 @@ public class SettingsFragment extends Fragment {
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode != RESULT_OK) return;
+
+
if(requestCode == ACTIVITY_CHOOSE_FILE) {
Uri treeUri = data.getData();
Uri docUri = DocumentsContract.buildDocumentUriUsingTree(treeUri,
DocumentsContract.getTreeDocumentId(treeUri));
- String path = getPath(context, docUri);
- if( path == null )
- path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath();
- final SharedPreferences sharedpreferences = context.getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE);
- SharedPreferences.Editor editor = sharedpreferences.edit();
- editor.putString(Helper.SET_FOLDER_RECORD, path);
- editor.apply();
- set_folder.setText(path);
+ try{
+ String path = getPath(context, docUri);
+ if( path == null )
+ path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath();
+ final SharedPreferences sharedpreferences = context.getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE);
+ SharedPreferences.Editor editor = sharedpreferences.edit();
+ editor.putString(Helper.SET_FOLDER_RECORD, path);
+ editor.apply();
+ set_folder.setText(path);
+ }catch (Exception e){
+ Toast.makeText(context, R.string.toast_error, Toast.LENGTH_LONG).show();
+ }
+
+ }else if (requestCode == ACTIVITY_CHOOSE_SOUND){
+ try{
+ Uri uri = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
+ final SharedPreferences sharedpreferences = context.getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE);
+ SharedPreferences.Editor editor = sharedpreferences.edit();
+ editor.putString(Helper.SET_NOTIF_SOUND, uri.toString());
+ editor.apply();
+ }catch (Exception e){
+ Toast.makeText(context, R.string.toast_error, Toast.LENGTH_LONG).show();
+ }
}
}
diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/helper/Helper.java b/app/src/main/java/fr/gouv/etalab/mastodon/helper/Helper.java
index 778a67b41..a769721f9 100644
--- a/app/src/main/java/fr/gouv/etalab/mastodon/helper/Helper.java
+++ b/app/src/main/java/fr/gouv/etalab/mastodon/helper/Helper.java
@@ -28,6 +28,7 @@ import android.graphics.Matrix;
import android.graphics.PorterDuffXfermode;
import android.graphics.Rect;
import android.graphics.RectF;
+import android.media.AudioAttributes;
import android.os.CountDownTimer;
import android.provider.MediaStore;
import android.provider.OpenableColumns;
@@ -260,6 +261,7 @@ public class Helper {
public static final String SET_FULL_PREVIEW = "set_full_preview";
public static final String SET_COMPACT_MODE = "set_compact_mode";
public static final String SET_SHARE_DETAILS = "set_share_details";
+ public static final String SET_NOTIF_SOUND = "set_notif_sound";
public static final int S_512KO = 1;
public static final int S_1MO = 2;
public static final int S_2MO = 3;
@@ -837,9 +839,15 @@ public class Helper {
channelTitle = context.getString(R.string.channel_notif_boost);
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
- NotificationChannel channel = new NotificationChannel(channelId, channelTitle, NotificationManager.IMPORTANCE_DEFAULT);
+ NotificationChannel channel = new NotificationChannel(channelId, channelTitle, NotificationManager.IMPORTANCE_HIGH);
NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
+ AudioAttributes audioAttributes = new AudioAttributes.Builder()
+ .setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
+ .setUsage(AudioAttributes.USAGE_ALARM)
+ .build();
assert mNotificationManager != null;
+ String soundUri =sharedpreferences.getString(Helper.SET_NOTIF_SOUND, ContentResolver.SCHEME_ANDROID_RESOURCE + "://" + context.getPackageName() +"/"+ R.raw.boop);
+ channel.setSound(Uri.parse(soundUri), audioAttributes);
mNotificationManager.createNotificationChannel(channel);
}
@@ -852,9 +860,9 @@ public class Helper {
.setContentText(message);
if( sharedpreferences.getBoolean(Helper.SET_NOTIF_SILENT,false) ) {
notificationBuilder.setVibrate(new long[] { 500, 500, 500});
- }else {
- String soundUri = ContentResolver.SCHEME_ANDROID_RESOURCE + "://" + context.getPackageName() +"/";
- notificationBuilder.setSound(Uri.parse(soundUri + R.raw.boop));
+ }else if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O){
+ String soundUri =sharedpreferences.getString(Helper.SET_NOTIF_SOUND, ContentResolver.SCHEME_ANDROID_RESOURCE + "://" + context.getPackageName() +"/"+ R.raw.boop);
+ notificationBuilder.setSound(Uri.parse(soundUri));
}
int ledColour = Color.BLUE;
diff --git a/app/src/main/res/layout-sw600dp/fragment_settings.xml b/app/src/main/res/layout-sw600dp/fragment_settings.xml
index 70e691adb..cb0d518ab 100644
--- a/app/src/main/res/layout-sw600dp/fragment_settings.xml
+++ b/app/src/main/res/layout-sw600dp/fragment_settings.xml
@@ -156,6 +156,15 @@
android:layout_height="wrap_content"
android:text="@string/send_crash_report"
/>
+
+
+
+
Fetching remote account
Automatically expand hidden media
Display follow instances button
+ Change notification sound
+ Select Tone
- Never
- 30 minutes
diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml
index 1316bdb04..1169e63b7 100644
--- a/app/src/main/res/values-ar/strings.xml
+++ b/app/src/main/res/values-ar/strings.xml
@@ -560,6 +560,8 @@
Fetching remote account
Automatically expand hidden media
Display follow instances button
+ Change notification sound
+ Select Tone
- أبدًا
- 30 دقيقة
diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml
index fa690d600..8e897a197 100644
--- a/app/src/main/res/values-ca/strings.xml
+++ b/app/src/main/res/values-ca/strings.xml
@@ -552,6 +552,8 @@
Fetching remote account
Automatically expand hidden media
Display follow instances button
+ Change notification sound
+ Select Tone
- Never
- 30 minutes
diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml
index 993e7e352..27470b002 100644
--- a/app/src/main/res/values-cs/strings.xml
+++ b/app/src/main/res/values-cs/strings.xml
@@ -558,6 +558,8 @@
Fetching remote account
Automatically expand hidden media
Display follow instances button
+ Change notification sound
+ Select Tone
- Never
- 30 minutes
diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml
index f07ba9b20..48d0eb930 100644
--- a/app/src/main/res/values-da/strings.xml
+++ b/app/src/main/res/values-da/strings.xml
@@ -552,6 +552,8 @@
Fetching remote account
Automatically expand hidden media
Display follow instances button
+ Change notification sound
+ Select Tone
- Never
- 30 minutes
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index 515347d7f..faf372cef 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -541,7 +541,9 @@ Die Anwendung nutzt keine Trackingwergzeuge(Zielgruppenbestimmung, Fehler
Fetching remote account
Automatically expand hidden media
Display follow instances button
-
+ Change notification sound
+ Select Tone
+
- Nie
- 30 Minuten
- 1 Stunde
diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml
index c8506fc0f..7f418f7cc 100644
--- a/app/src/main/res/values-el/strings.xml
+++ b/app/src/main/res/values-el/strings.xml
@@ -552,6 +552,8 @@
Fetching remote account
Automatically expand hidden media
Display follow instances button
+ Change notification sound
+ Select Tone
- Never
- 30 minutes
diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml
index b4d4ef5d7..f6507487d 100644
--- a/app/src/main/res/values-es/strings.xml
+++ b/app/src/main/res/values-es/strings.xml
@@ -547,6 +547,8 @@ Gracias a:
Fetching remote account
Automatically expand hidden media
Display follow instances button
+ Change notification sound
+ Select Tone
- Nunca
- 30 minutos
diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml
index d76dbd3e1..ff4dfb1a0 100644
--- a/app/src/main/res/values-eu/strings.xml
+++ b/app/src/main/res/values-eu/strings.xml
@@ -551,6 +551,8 @@ Eskerrik asko Stéphane logoagatik.
Urruneko kontua eskuratzen
Automatikoki hedatu ezkutatutako multimedia
Display follow instances button
+ Change notification sound
+ Select Tone
- Inoiz ez
- 30 minutu
diff --git a/app/src/main/res/values-fa/strings.xml b/app/src/main/res/values-fa/strings.xml
index 6e40026f2..2b418fe93 100644
--- a/app/src/main/res/values-fa/strings.xml
+++ b/app/src/main/res/values-fa/strings.xml
@@ -552,6 +552,8 @@
Fetching remote account
Automatically expand hidden media
Display follow instances button
+ Change notification sound
+ Select Tone
- Never
- 30 minutes
diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml
index f07ba9b20..48d0eb930 100644
--- a/app/src/main/res/values-fi/strings.xml
+++ b/app/src/main/res/values-fi/strings.xml
@@ -552,6 +552,8 @@
Fetching remote account
Automatically expand hidden media
Display follow instances button
+ Change notification sound
+ Select Tone
- Never
- 30 minutes
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index 1b4473c4f..e0c921819 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -550,6 +550,8 @@
Fetching remote account
Automatically expand hidden media
Display follow instances button
+ Change notification sound
+ Select Tone
- Jamais
- 30 minutes
diff --git a/app/src/main/res/values-he/strings.xml b/app/src/main/res/values-he/strings.xml
index 6ed1522fc..6578cdd5c 100644
--- a/app/src/main/res/values-he/strings.xml
+++ b/app/src/main/res/values-he/strings.xml
@@ -558,6 +558,8 @@
Fetching remote account
Automatically expand hidden media
Display follow instances button
+ Change notification sound
+ Select Tone
- Never
- 30 minutes
diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml
index 7a6ed0d34..64a53cb3b 100644
--- a/app/src/main/res/values-hu/strings.xml
+++ b/app/src/main/res/values-hu/strings.xml
@@ -552,6 +552,8 @@
Fetching remote account
Automatically expand hidden media
Display follow instances button
+ Change notification sound
+ Select Tone
- Never
- 30 minutes
diff --git a/app/src/main/res/values-hy/strings.xml b/app/src/main/res/values-hy/strings.xml
index 9af991e7f..f85c513ef 100644
--- a/app/src/main/res/values-hy/strings.xml
+++ b/app/src/main/res/values-hy/strings.xml
@@ -551,6 +551,8 @@
Fetching remote account
Automatically expand hidden media
Display follow instances button
+ Change notification sound
+ Select Tone
- Never
- 30 minutes
diff --git a/app/src/main/res/values-id/strings.xml b/app/src/main/res/values-id/strings.xml
index 919b3cdb0..413268f3f 100644
--- a/app/src/main/res/values-id/strings.xml
+++ b/app/src/main/res/values-id/strings.xml
@@ -551,6 +551,8 @@ https://yandex.ru/legal/confidential/?lang=en
Fetching remote account
Automatically expand hidden media
Display follow instances button
+ Change notification sound
+ Select Tone
- Never
- 30 minutes
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index 218dcad63..b6012b1c5 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -552,6 +552,8 @@ Per favore, conferma le notifiche push che vuoi ricevere.
Fetching remote account
Automatically expand hidden media
Display follow instances button
+ Change notification sound
+ Select Tone
- Never
- 30 minutes
diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml
index 42501c23d..5d3aed2ba 100644
--- a/app/src/main/res/values-ja/strings.xml
+++ b/app/src/main/res/values-ja/strings.xml
@@ -541,6 +541,8 @@
Fetching remote account
Automatically expand hidden media
Display follow instances button
+ Change notification sound
+ Select Tone
- Never
- 30 minutes
diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml
index ae857b7bc..2f302dcf2 100644
--- a/app/src/main/res/values-ko/strings.xml
+++ b/app/src/main/res/values-ko/strings.xml
@@ -549,6 +549,8 @@
Fetching remote account
Automatically expand hidden media
Display follow instances button
+ Change notification sound
+ Select Tone
- Never
- 30 minutes
diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml
index 6a4318cde..0646c64d5 100644
--- a/app/src/main/res/values-nl/strings.xml
+++ b/app/src/main/res/values-nl/strings.xml
@@ -552,6 +552,8 @@
Fetching remote account
Automatically expand hidden media
Display follow instances button
+ Change notification sound
+ Select Tone
- Never
- 30 minutes
diff --git a/app/src/main/res/values-no/strings.xml b/app/src/main/res/values-no/strings.xml
index 7296d0466..e31cb6239 100644
--- a/app/src/main/res/values-no/strings.xml
+++ b/app/src/main/res/values-no/strings.xml
@@ -544,6 +544,8 @@ Takk til:
Fetching remote account
Automatically expand hidden media
Display follow instances button
+ Change notification sound
+ Select Tone
- Never
- 30 minutes
diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml
index 47ca4f150..e394f5337 100644
--- a/app/src/main/res/values-pl/strings.xml
+++ b/app/src/main/res/values-pl/strings.xml
@@ -555,6 +555,8 @@ Podziękowania dla:
Fetching remote account
Automatically expand hidden media
Display follow instances button
+ Change notification sound
+ Select Tone
- Nigdy
- 30 minut
diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml
index 04f4537db..88a1c965e 100644
--- a/app/src/main/res/values-pt/strings.xml
+++ b/app/src/main/res/values-pt/strings.xml
@@ -552,6 +552,8 @@
Fetching remote account
Automatically expand hidden media
Display follow instances button
+ Change notification sound
+ Select Tone
- Nunca
- 30 minutos
diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml
index 7e2811c56..2bf15e0fb 100644
--- a/app/src/main/res/values-ro/strings.xml
+++ b/app/src/main/res/values-ro/strings.xml
@@ -552,6 +552,8 @@ Vă mulțumesc:
Fetching remote account
Automatically expand hidden media
Display follow instances button
+ Change notification sound
+ Select Tone
- Never
- 30 minutes
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index 4743b2349..3ea5be489 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -556,6 +556,8 @@
Fetching remote account
Automatically expand hidden media
Display follow instances button
+ Change notification sound
+ Select Tone
- Never
- 30 minutes
diff --git a/app/src/main/res/values-sr/strings.xml b/app/src/main/res/values-sr/strings.xml
index dbc5b6bc2..4658ccb01 100644
--- a/app/src/main/res/values-sr/strings.xml
+++ b/app/src/main/res/values-sr/strings.xml
@@ -555,6 +555,8 @@
Fetching remote account
Automatically expand hidden media
Display follow instances button
+ Change notification sound
+ Select Tone
- Никадa
- 30 минута
diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml
index 1c325963a..59d09b8a5 100644
--- a/app/src/main/res/values-sv/strings.xml
+++ b/app/src/main/res/values-sv/strings.xml
@@ -552,6 +552,8 @@
Fetching remote account
Automatically expand hidden media
Display follow instances button
+ Change notification sound
+ Select Tone
- Never
- 30 minutes
diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml
index cd2bcb3f3..eacc65968 100644
--- a/app/src/main/res/values-tr/strings.xml
+++ b/app/src/main/res/values-tr/strings.xml
@@ -545,6 +545,8 @@ Teşekkürler:
Fetching remote account
Automatically expand hidden media
Display follow instances button
+ Change notification sound
+ Select Tone
- Never
- 30 minutes
diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml
index af976569e..e2513a1a9 100644
--- a/app/src/main/res/values-uk/strings.xml
+++ b/app/src/main/res/values-uk/strings.xml
@@ -548,6 +548,8 @@
Fetching remote account
Automatically expand hidden media
Display follow instances button
+ Change notification sound
+ Select Tone
- Never
- 30 minutes
diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml
index bc2dfed1c..ec71946ec 100644
--- a/app/src/main/res/values-vi/strings.xml
+++ b/app/src/main/res/values-vi/strings.xml
@@ -547,6 +547,8 @@ Cảm ơn bạn:
Fetching remote account
Automatically expand hidden media
Display follow instances button
+ Change notification sound
+ Select Tone
- Never
- 30 minutes
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index 5184911d4..619e75875 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -544,6 +544,8 @@ Yandex 有适当的隐私政策,可以在这里找到:https://yandex.ru/lega
Fetching remote account
Automatically expand hidden media
Display follow instances button
+ Change notification sound
+ Select Tone
- Never
- 30 minutes
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index eb532e532..15bad4ffe 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -549,6 +549,8 @@
正在擷取遠端帳號
自動展開隱藏的媒體
顯示關注實體按鈕
+ Change notification sound
+ Select Tone
- 永不
- 30 分鐘
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 9e245fe4e..4766dbafa 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -617,6 +617,8 @@
New Toot
Toots Backup
Media Download
+ Change notification sound
+ Select Tone
- Never