mirror of
https://github.com/moparisthebest/k-9
synced 2024-11-27 11:42:16 -05:00
Implemented option to hide special accounts (issue 3060)
This commit is contained in:
parent
397d01d513
commit
fce2fc12d0
@ -921,6 +921,9 @@ Welcome to K-9 Mail setup. K-9 is an open source mail client for Android origin
|
||||
<string name="count_search_title">Count search results</string>
|
||||
<string name="count_search_summary">Turn off for faster display</string>
|
||||
|
||||
<string name="hide_special_accounts_title">Hide special accounts</string>
|
||||
<string name="hide_special_accounts_summary">Hide the unified inbox and all messages accounts</string>
|
||||
|
||||
<string name="search_title"><xliff:g id="search_name">%s</xliff:g> <xliff:g id="modifier">%s</xliff:g></string>
|
||||
<string name="flagged_modifier"> - Starred</string>
|
||||
<string name="unread_modifier"> - Unread</string>
|
||||
|
@ -92,6 +92,13 @@
|
||||
android:title="@string/count_search_title"
|
||||
android:summary="@string/count_search_summary" />
|
||||
|
||||
<CheckBoxPreference
|
||||
android:persistent="false"
|
||||
android:key="hide_special_accounts"
|
||||
android:title="@string/hide_special_accounts_title"
|
||||
android:summary="@string/hide_special_accounts_summary"
|
||||
android:disableDependentsState="true" />
|
||||
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory
|
||||
@ -180,7 +187,8 @@
|
||||
android:persistent="false"
|
||||
android:key="start_integrated_inbox"
|
||||
android:title="@string/start_integrated_inbox_title"
|
||||
android:summary="@string/start_integrated_inbox_summary" />
|
||||
android:summary="@string/start_integrated_inbox_summary"
|
||||
android:dependency="hide_special_accounts" />
|
||||
|
||||
<CheckBoxPreference
|
||||
android:persistent="false"
|
||||
|
@ -168,6 +168,7 @@ public class K9 extends Application {
|
||||
private static boolean mStartIntegratedInbox = false;
|
||||
private static boolean mMeasureAccounts = true;
|
||||
private static boolean mCountSearchMessages = true;
|
||||
private static boolean mHideSpecialAccounts = false;
|
||||
private static boolean mZoomControlsEnabled = false;
|
||||
private static boolean mMobileOptimizedLayout = false;
|
||||
private static boolean mQuietTimeEnabled = false;
|
||||
@ -422,6 +423,7 @@ public class K9 extends Application {
|
||||
editor.putBoolean("startIntegratedInbox", mStartIntegratedInbox);
|
||||
editor.putBoolean("measureAccounts", mMeasureAccounts);
|
||||
editor.putBoolean("countSearchMessages", mCountSearchMessages);
|
||||
editor.putBoolean("hideSpecialAccounts", mHideSpecialAccounts);
|
||||
editor.putBoolean("messageListStars", mMessageListStars);
|
||||
editor.putBoolean("messageListCheckboxes", mMessageListCheckboxes);
|
||||
editor.putBoolean("messageListTouchable", mMessageListTouchable);
|
||||
@ -468,6 +470,7 @@ public class K9 extends Application {
|
||||
mStartIntegratedInbox = sprefs.getBoolean("startIntegratedInbox", false);
|
||||
mMeasureAccounts = sprefs.getBoolean("measureAccounts", true);
|
||||
mCountSearchMessages = sprefs.getBoolean("countSearchMessages", true);
|
||||
mHideSpecialAccounts = sprefs.getBoolean("hideSpecialAccounts", false);
|
||||
mMessageListStars = sprefs.getBoolean("messageListStars", true);
|
||||
mMessageListCheckboxes = sprefs.getBoolean("messageListCheckboxes", false);
|
||||
mMessageListTouchable = sprefs.getBoolean("messageListTouchable", false);
|
||||
@ -773,7 +776,7 @@ public class K9 extends Application {
|
||||
|
||||
|
||||
public static boolean startIntegratedInbox() {
|
||||
return mStartIntegratedInbox;
|
||||
return !mHideSpecialAccounts && mStartIntegratedInbox;
|
||||
}
|
||||
|
||||
public static void setStartIntegratedInbox(boolean startIntegratedInbox) {
|
||||
@ -900,6 +903,14 @@ public class K9 extends Application {
|
||||
mCountSearchMessages = countSearchMessages;
|
||||
}
|
||||
|
||||
public static boolean isHideSpecialAccounts() {
|
||||
return mHideSpecialAccounts;
|
||||
}
|
||||
|
||||
public static void setHideSpecialAccounts(boolean hideSpecialAccounts) {
|
||||
mHideSpecialAccounts = hideSpecialAccounts;
|
||||
}
|
||||
|
||||
public static boolean useGalleryBugWorkaround() {
|
||||
return useGalleryBugWorkaround;
|
||||
}
|
||||
|
@ -232,18 +232,20 @@ public class Accounts extends K9ListActivity implements OnItemClickListener, OnC
|
||||
public void onCreate(Bundle icicle) {
|
||||
super.onCreate(icicle);
|
||||
|
||||
unreadAccount = new SearchAccount(this, false, null, null);
|
||||
unreadAccount.setDescription(getString(R.string.search_all_messages_title));
|
||||
unreadAccount.setEmail(getString(R.string.search_all_messages_detail));
|
||||
if (!K9.isHideSpecialAccounts()) {
|
||||
unreadAccount = new SearchAccount(this, false, null, null);
|
||||
unreadAccount.setDescription(getString(R.string.search_all_messages_title));
|
||||
unreadAccount.setEmail(getString(R.string.search_all_messages_detail));
|
||||
|
||||
integratedInboxAccount = new SearchAccount(this, true, null, null);
|
||||
integratedInboxAccount.setDescription(getString(R.string.integrated_inbox_title));
|
||||
integratedInboxAccount.setEmail(getString(R.string.integrated_inbox_detail));
|
||||
integratedInboxAccount = new SearchAccount(this, true, null, null);
|
||||
integratedInboxAccount.setDescription(getString(R.string.integrated_inbox_title));
|
||||
integratedInboxAccount.setEmail(getString(R.string.integrated_inbox_detail));
|
||||
}
|
||||
|
||||
Account[] accounts = Preferences.getPreferences(this).getAccounts();
|
||||
Intent intent = getIntent();
|
||||
boolean startup = intent.getBooleanExtra(EXTRA_STARTUP, true);
|
||||
if (startup && K9.startIntegratedInbox()) {
|
||||
if (startup && K9.startIntegratedInbox() && !K9.isHideSpecialAccounts()) {
|
||||
onOpenAccount(integratedInboxAccount);
|
||||
finish();
|
||||
} else if (startup && accounts.length == 1 && onOpenAccount(accounts[0])) {
|
||||
@ -306,11 +308,16 @@ public class Accounts extends K9ListActivity implements OnItemClickListener, OnC
|
||||
private void refresh() {
|
||||
BaseAccount[] accounts = Preferences.getPreferences(this).getAccounts();
|
||||
|
||||
List<BaseAccount> newAccounts = new ArrayList<BaseAccount>(accounts.length + 4);
|
||||
if (accounts.length > 0) {
|
||||
List<BaseAccount> newAccounts;
|
||||
if (!K9.isHideSpecialAccounts()
|
||||
&& accounts.length > 0) {
|
||||
newAccounts = new ArrayList<BaseAccount>(accounts.length + 2);
|
||||
newAccounts.add(integratedInboxAccount);
|
||||
newAccounts.add(unreadAccount);
|
||||
}
|
||||
else {
|
||||
newAccounts = new ArrayList<BaseAccount>(accounts.length);
|
||||
}
|
||||
|
||||
newAccounts.addAll(Arrays.asList(accounts));
|
||||
|
||||
|
@ -52,6 +52,7 @@ public class Prefs extends K9PreferenceActivity {
|
||||
private static final String PREFERENCE_PRIVACY_MODE = "privacy_mode";
|
||||
private static final String PREFERENCE_MEASURE_ACCOUNTS = "measure_accounts";
|
||||
private static final String PREFERENCE_COUNT_SEARCH = "count_search";
|
||||
private static final String PREFERENCE_HIDE_SPECIAL_ACCOUNTS = "hide_special_accounts";
|
||||
private static final String PREFERENCE_MESSAGELIST_TOUCHABLE = "messagelist_touchable";
|
||||
private static final String PREFERENCE_MESSAGELIST_PREVIEW_LINES = "messagelist_preview_lines";
|
||||
private static final String PREFERENCE_MESSAGELIST_STARS = "messagelist_stars";
|
||||
@ -88,6 +89,7 @@ public class Prefs extends K9PreferenceActivity {
|
||||
private CheckBoxPreference mPrivacyMode;
|
||||
private CheckBoxPreference mMeasureAccounts;
|
||||
private CheckBoxPreference mCountSearch;
|
||||
private CheckBoxPreference mHideSpecialAccounts;
|
||||
private CheckBoxPreference mTouchable;
|
||||
private ListPreference mPreviewLines;
|
||||
private CheckBoxPreference mStars;
|
||||
@ -191,6 +193,9 @@ public class Prefs extends K9PreferenceActivity {
|
||||
mCountSearch = (CheckBoxPreference)findPreference(PREFERENCE_COUNT_SEARCH);
|
||||
mCountSearch.setChecked(K9.countSearchMessages());
|
||||
|
||||
mHideSpecialAccounts = (CheckBoxPreference)findPreference(PREFERENCE_HIDE_SPECIAL_ACCOUNTS);
|
||||
mHideSpecialAccounts.setChecked(K9.isHideSpecialAccounts());
|
||||
|
||||
mTouchable = (CheckBoxPreference)findPreference(PREFERENCE_MESSAGELIST_TOUCHABLE);
|
||||
mTouchable.setChecked(K9.messageListTouchable());
|
||||
|
||||
@ -298,11 +303,12 @@ public class Prefs extends K9PreferenceActivity {
|
||||
K9.setUseVolumeKeysForNavigation(mVolumeNavigation.getCheckedItems()[0]);
|
||||
K9.setUseVolumeKeysForListNavigation(mVolumeNavigation.getCheckedItems()[1]);
|
||||
K9.setManageBack(mManageBack.isChecked());
|
||||
K9.setStartIntegratedInbox(mStartIntegratedInbox.isChecked());
|
||||
K9.setStartIntegratedInbox(!mHideSpecialAccounts.isChecked() && mStartIntegratedInbox.isChecked());
|
||||
K9.setConfirmDelete(mConfirmActions.getCheckedItems()[0]);
|
||||
K9.setKeyguardPrivacy(mPrivacyMode.isChecked());
|
||||
K9.setMeasureAccounts(mMeasureAccounts.isChecked());
|
||||
K9.setCountSearchMessages(mCountSearch.isChecked());
|
||||
K9.setHideSpecialAccounts(mHideSpecialAccounts.isChecked());
|
||||
K9.setMessageListTouchable(mTouchable.isChecked());
|
||||
K9.setMessageListPreviewLines(Integer.parseInt(mPreviewLines.getValue()));
|
||||
K9.setMessageListStars(mStars.isChecked());
|
||||
|
Loading…
Reference in New Issue
Block a user