mirror of
https://github.com/moparisthebest/k-9
synced 2024-11-30 13:12:25 -05:00
Fixes issue 1711
Owner: fiouzy Don't display message subject in notification bar when keyguard is active (system locked)
This commit is contained in:
parent
f21d86d8ce
commit
f43db5235c
@ -326,6 +326,9 @@ Welcome to K-9 Mail setup. K-9 is an open source mail client for Android origin
|
|||||||
<string name="global_settings_confirm_action_spam">Spam</string>
|
<string name="global_settings_confirm_action_spam">Spam</string>
|
||||||
<string name="global_settings_confirm_action_send">Send</string>
|
<string name="global_settings_confirm_action_send">Send</string>
|
||||||
|
|
||||||
|
<string name="global_settings_privacy_mode_title">Privacy mode</string>
|
||||||
|
<string name="global_settings_privacy_mode_summary">Don\'t display message subject in notification bar when system is locked</string>
|
||||||
|
|
||||||
<string name="account_setup_basics_title">Set up a new account</string>
|
<string name="account_setup_basics_title">Set up a new account</string>
|
||||||
<string name="account_setup_basics_instructions">Enter this account\'s email address:</string>
|
<string name="account_setup_basics_instructions">Enter this account\'s email address:</string>
|
||||||
<string name="account_setup_basics_instructions2_fmt">(You may add <xliff:g id="number_accounts">%d</xliff:g> more accounts.)</string>
|
<string name="account_setup_basics_instructions2_fmt">(You may add <xliff:g id="number_accounts">%d</xliff:g> more accounts.)</string>
|
||||||
|
@ -79,6 +79,11 @@
|
|||||||
android:negativeButtonText="@android:string/cancel"
|
android:negativeButtonText="@android:string/cancel"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
<CheckBoxPreference
|
||||||
|
android:key="privacy_mode"
|
||||||
|
android:title="@string/global_settings_privacy_mode_title"
|
||||||
|
android:summary="@string/global_settings_privacy_mode_summary"/>
|
||||||
|
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
|
|
||||||
<PreferenceCategory android:title="@string/accountlist_preferences" android:key="accountlist_preferences">
|
<PreferenceCategory android:title="@string/accountlist_preferences" android:key="accountlist_preferences">
|
||||||
|
@ -107,6 +107,7 @@ public class K9 extends Application
|
|||||||
private static boolean mAnimations = true;
|
private static boolean mAnimations = true;
|
||||||
|
|
||||||
private static boolean mConfirmDelete = false;
|
private static boolean mConfirmDelete = false;
|
||||||
|
private static boolean mKeyguardPrivacy = false;
|
||||||
|
|
||||||
private static boolean mMessageListStars = true;
|
private static boolean mMessageListStars = true;
|
||||||
private static boolean mMessageListCheckboxes = false;
|
private static boolean mMessageListCheckboxes = false;
|
||||||
@ -356,6 +357,8 @@ public class K9 extends Application
|
|||||||
|
|
||||||
editor.putBoolean("confirmDelete", mConfirmDelete);
|
editor.putBoolean("confirmDelete", mConfirmDelete);
|
||||||
|
|
||||||
|
editor.putBoolean("keyguardPrivacy", mKeyguardPrivacy);
|
||||||
|
|
||||||
fontSizes.save(editor);
|
fontSizes.save(editor);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -389,6 +392,8 @@ public class K9 extends Application
|
|||||||
|
|
||||||
mConfirmDelete = sprefs.getBoolean("confirmDelete", false);
|
mConfirmDelete = sprefs.getBoolean("confirmDelete", false);
|
||||||
|
|
||||||
|
mKeyguardPrivacy = sprefs.getBoolean("keyguardPrivacy", false);
|
||||||
|
|
||||||
fontSizes.load(sprefs);
|
fontSizes.load(sprefs);
|
||||||
|
|
||||||
try
|
try
|
||||||
@ -699,6 +704,19 @@ public class K9 extends Application
|
|||||||
mConfirmDelete = confirm;
|
mConfirmDelete = confirm;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return Whether privacy rules should be applied when system is locked
|
||||||
|
*/
|
||||||
|
public static boolean keyguardPrivacy()
|
||||||
|
{
|
||||||
|
return mKeyguardPrivacy;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void setKeyguardPrivacy(final boolean state)
|
||||||
|
{
|
||||||
|
mKeyguardPrivacy = state;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if this system contains a buggy Gallery 3D package.
|
* Check if this system contains a buggy Gallery 3D package.
|
||||||
*
|
*
|
||||||
|
@ -58,6 +58,8 @@ public class Prefs extends K9PreferenceActivity
|
|||||||
|
|
||||||
private static final String PREFERENCE_CONFIRM_ACTIONS = "confirm_actions";
|
private static final String PREFERENCE_CONFIRM_ACTIONS = "confirm_actions";
|
||||||
|
|
||||||
|
private static final String PREFERENCE_PRIVACY_MODE = "privacy_mode";
|
||||||
|
|
||||||
private ListPreference mLanguage;
|
private ListPreference mLanguage;
|
||||||
private ListPreference mTheme;
|
private ListPreference mTheme;
|
||||||
private ListPreference mDateFormat;
|
private ListPreference mDateFormat;
|
||||||
@ -82,6 +84,8 @@ public class Prefs extends K9PreferenceActivity
|
|||||||
|
|
||||||
private CheckboxListPreference mConfirmActions;
|
private CheckboxListPreference mConfirmActions;
|
||||||
|
|
||||||
|
private CheckBoxPreference mPrivacyMode;
|
||||||
|
|
||||||
private String initBackgroundOps;
|
private String initBackgroundOps;
|
||||||
|
|
||||||
|
|
||||||
@ -243,6 +247,9 @@ public class Prefs extends K9PreferenceActivity
|
|||||||
mConfirmActions = (CheckboxListPreference) findPreference(PREFERENCE_CONFIRM_ACTIONS);
|
mConfirmActions = (CheckboxListPreference) findPreference(PREFERENCE_CONFIRM_ACTIONS);
|
||||||
mConfirmActions.setItems(new CharSequence[] {getString(R.string.global_settings_confirm_action_delete)});
|
mConfirmActions.setItems(new CharSequence[] {getString(R.string.global_settings_confirm_action_delete)});
|
||||||
mConfirmActions.setCheckedItems(new boolean[] {K9.confirmDelete()});
|
mConfirmActions.setCheckedItems(new boolean[] {K9.confirmDelete()});
|
||||||
|
|
||||||
|
mPrivacyMode = (CheckBoxPreference) findPreference(PREFERENCE_PRIVACY_MODE);
|
||||||
|
mPrivacyMode.setChecked(K9.keyguardPrivacy());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -284,6 +291,8 @@ public class Prefs extends K9PreferenceActivity
|
|||||||
|
|
||||||
K9.setConfirmDelete(mConfirmActions.getCheckedItems()[0]);
|
K9.setConfirmDelete(mConfirmActions.getCheckedItems()[0]);
|
||||||
|
|
||||||
|
K9.setKeyguardPrivacy(mPrivacyMode.isChecked());
|
||||||
|
|
||||||
Editor editor = preferences.edit();
|
Editor editor = preferences.edit();
|
||||||
K9.save(editor);
|
K9.save(editor);
|
||||||
DateFormatter.setDateFormat(editor, mDateFormat.getValue());
|
DateFormatter.setDateFormat(editor, mDateFormat.getValue());
|
||||||
|
@ -22,6 +22,7 @@ import java.util.concurrent.PriorityBlockingQueue;
|
|||||||
import java.util.concurrent.atomic.AtomicBoolean;
|
import java.util.concurrent.atomic.AtomicBoolean;
|
||||||
import java.util.concurrent.atomic.AtomicInteger;
|
import java.util.concurrent.atomic.AtomicInteger;
|
||||||
import android.app.Application;
|
import android.app.Application;
|
||||||
|
import android.app.KeyguardManager;
|
||||||
import android.app.Notification;
|
import android.app.Notification;
|
||||||
import android.app.NotificationManager;
|
import android.app.NotificationManager;
|
||||||
import android.app.PendingIntent;
|
import android.app.PendingIntent;
|
||||||
@ -4565,52 +4566,56 @@ public class MessagingController implements Runnable
|
|||||||
{
|
{
|
||||||
// If we have a message, set the notification to "<From>: <Subject>"
|
// If we have a message, set the notification to "<From>: <Subject>"
|
||||||
StringBuffer messageNotice = new StringBuffer();
|
StringBuffer messageNotice = new StringBuffer();
|
||||||
try
|
final KeyguardManager keyguardService = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);
|
||||||
|
if (!K9.keyguardPrivacy() || !keyguardService.inKeyguardRestrictedInputMode())
|
||||||
{
|
{
|
||||||
if (message != null && message.getFrom() != null)
|
try
|
||||||
{
|
{
|
||||||
Address[] fromAddrs = message.getFrom();
|
if (message != null && message.getFrom() != null)
|
||||||
String from = fromAddrs.length > 0 ? fromAddrs[0].toFriendly().toString() : null;
|
|
||||||
String subject = message.getSubject();
|
|
||||||
if (subject == null)
|
|
||||||
{
|
{
|
||||||
subject = context.getString(R.string.general_no_subject);
|
Address[] fromAddrs = message.getFrom();
|
||||||
}
|
String from = fromAddrs.length > 0 ? fromAddrs[0].toFriendly().toString() : null;
|
||||||
|
String subject = message.getSubject();
|
||||||
if (from != null)
|
if (subject == null)
|
||||||
{
|
|
||||||
// Show From: address by default
|
|
||||||
if (!account.isAnIdentity(fromAddrs))
|
|
||||||
{
|
{
|
||||||
messageNotice.append(from + ": " + subject);
|
subject = context.getString(R.string.general_no_subject);
|
||||||
}
|
}
|
||||||
// show To: if the message was sent from me
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (!account.isNotifySelfNewMail())
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
Address[] rcpts = message.getRecipients(Message.RecipientType.TO);
|
if (from != null)
|
||||||
String to = rcpts.length > 0 ? rcpts[0].toFriendly().toString() : null;
|
{
|
||||||
if (to != null)
|
// Show From: address by default
|
||||||
|
if (!account.isAnIdentity(fromAddrs))
|
||||||
{
|
{
|
||||||
messageNotice.append(String.format(context.getString(R.string.message_list_to_fmt), to) +": "+subject);
|
messageNotice.append(from + ": " + subject);
|
||||||
}
|
}
|
||||||
|
// show To: if the message was sent from me
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
messageNotice.append(context.getString(R.string.general_no_sender) + ": "+subject);
|
if (!account.isNotifySelfNewMail())
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
Address[] rcpts = message.getRecipients(Message.RecipientType.TO);
|
||||||
|
String to = rcpts.length > 0 ? rcpts[0].toFriendly().toString() : null;
|
||||||
|
if (to != null)
|
||||||
|
{
|
||||||
|
messageNotice.append(String.format(context.getString(R.string.message_list_to_fmt), to) +": "+subject);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
messageNotice.append(context.getString(R.string.general_no_sender) + ": "+subject);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
catch (MessagingException e)
|
||||||
catch (MessagingException e)
|
{
|
||||||
{
|
Log.e(K9.LOG_TAG, "Unable to get message information for notification.", e);
|
||||||
Log.e(K9.LOG_TAG, "Unable to get message information for notification.", e);
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user