From 98b1abedac073b019e06d2101b8eee234bb3a228 Mon Sep 17 00:00:00 2001 From: Andreas Shimokawa Date: Sun, 20 Sep 2015 22:04:53 +0200 Subject: [PATCH] Allow phone call notifications (also in call display) to be disabled in preferences This will allow Pebble Dialer to handle these #106 --- .../gadgetbridge/activities/SettingsActivity.java | 1 + .../externalevents/PhoneCallReceiver.java | 12 +++++++++--- app/src/main/res/values/arrays.xml | 9 +++++++++ app/src/main/res/values/strings.xml | 2 +- app/src/main/res/xml/preferences.xml | 7 +++++++ 5 files changed, 27 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/SettingsActivity.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/SettingsActivity.java index cf9f3102..a3dd4c67 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/SettingsActivity.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/SettingsActivity.java @@ -104,6 +104,7 @@ public class SettingsActivity extends AbstractSettingsActivity { protected String[] getPreferenceKeysWithSummary() { return new String[]{ "audio_player", + "notification_mode_calls", "notification_mode_sms", "notification_mode_k9mail", "pebble_emu_addr", diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/PhoneCallReceiver.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/PhoneCallReceiver.java index f19a84d9..c1782917 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/PhoneCallReceiver.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/PhoneCallReceiver.java @@ -3,6 +3,8 @@ package nodomain.freeyourgadget.gadgetbridge.externalevents; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; +import android.content.SharedPreferences; +import android.preference.PreferenceManager; import android.telephony.TelephonyManager; import nodomain.freeyourgadget.gadgetbridge.GBApplication; @@ -22,11 +24,11 @@ public class PhoneCallReceiver extends BroadcastReceiver { String stateStr = intent.getExtras().getString(TelephonyManager.EXTRA_STATE); String number = intent.getExtras().getString(TelephonyManager.EXTRA_INCOMING_NUMBER); int state = 0; - if (stateStr.equals(TelephonyManager.EXTRA_STATE_IDLE)) { + if (TelephonyManager.EXTRA_STATE_IDLE.equals(stateStr)) { state = TelephonyManager.CALL_STATE_IDLE; - } else if (stateStr.equals(TelephonyManager.EXTRA_STATE_OFFHOOK)) { + } else if (TelephonyManager.EXTRA_STATE_OFFHOOK.equals(stateStr)) { state = TelephonyManager.CALL_STATE_OFFHOOK; - } else if (stateStr.equals(TelephonyManager.EXTRA_STATE_RINGING)) { + } else if (TelephonyManager.EXTRA_STATE_RINGING.equals(stateStr)) { state = TelephonyManager.CALL_STATE_RINGING; } @@ -62,6 +64,10 @@ public class PhoneCallReceiver extends BroadcastReceiver { break; } if (callCommand != null) { + SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context); + if ("never".equals(sharedPrefs.getString("notification_mode_calls", "always"))) { + return; + } GBApplication.deviceService().onSetCallState(mSavedNumber, null, callCommand); } mLastState = state; diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index 88b4f5f3..c1857213 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -11,6 +11,15 @@ never + + @string/always + @string/never + + + always + never + + @string/male @string/female diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c96ad764..cbba2238 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -41,8 +41,8 @@ Notifications Repetitions + Phone Calls SMS - Incoming Calls K9-Mail Pebble Messages Support for applications which send Notifications to the Pebble via Intent. Can be used for Conversations. diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml index 65b1cdcd..599e88b4 100644 --- a/app/src/main/res/xml/preferences.xml +++ b/app/src/main/res/xml/preferences.xml @@ -25,6 +25,13 @@ android:key="pref_key_notifications" android:title="@string/pref_header_notifications"> + +