From 4f8215beee842b6432860d2acd5931a59bf9b25c Mon Sep 17 00:00:00 2001 From: Gregor Santner Date: Sat, 13 Aug 2016 14:13:14 +0200 Subject: [PATCH] Allow most navigation items to hide as pref --- app/build.gradle | 1 - .../activity/MainActivity.java | 31 ++++--- .../activity/SettingsActivity.java | 10 ++- .../diaspora_android/data/AppSettings.java | 44 +++++++++- app/src/main/res/menu/main__navdrawer.xml | 2 +- .../res/values-de/strings-preferences.xml | 2 - .../res/values-fr/strings-preferences.xml | 2 - .../res/values-ja/strings-preferences.xml | 2 - .../res/values-pt-rBR/strings-preferences.xml | 2 - .../res/values-ru/strings-preferences.xml | 2 - app/src/main/res/values/color.xml | 2 - .../main/res/values/strings-preferences.xml | 23 +++-- app/src/main/res/values/strings.xml | 1 - app/src/main/res/xml/preferences.xml | 88 ++++++++++++++----- 14 files changed, 153 insertions(+), 59 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index ec74781c..522bbecc 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -39,7 +39,6 @@ dependencies { compile 'com.android.support:support-v4:24.1.1' // More libraries - compile 'com.getbase:floatingactionbutton:1.9.1' compile 'com.jakewharton:butterknife:8.0.1' compile 'info.guardianproject.netcipher:netcipher:1.2.1' apt 'com.jakewharton:butterknife-compiler:8.0.1' diff --git a/app/src/main/java/com/github/dfa/diaspora_android/activity/MainActivity.java b/app/src/main/java/com/github/dfa/diaspora_android/activity/MainActivity.java index 56ff2176..468719bd 100644 --- a/app/src/main/java/com/github/dfa/diaspora_android/activity/MainActivity.java +++ b/app/src/main/java/com/github/dfa/diaspora_android/activity/MainActivity.java @@ -53,7 +53,6 @@ import android.text.Html; import android.text.SpannableString; import android.text.method.LinkMovementMethod; import android.text.util.Linkify; -import android.util.Log; import android.view.Gravity; import android.view.KeyEvent; import android.view.Menu; @@ -159,7 +158,6 @@ public class MainActivity extends AppCompatActivity DrawerLayout navDrawer; - // NavHeader cannot be bound by Butterknife private TextView navheaderTitle; private TextView navheaderDescription; @@ -310,7 +308,7 @@ public class MainActivity extends AppCompatActivity if (progress > 60) { WebHelper.optimizeMobileSiteLayout(wv); - if(textToBeShared != null){ + if (textToBeShared != null) { WebHelper.shareTextIntoWebView(wv, textToBeShared); } } @@ -409,9 +407,18 @@ public class MainActivity extends AppCompatActivity } } + // Set visibility Menu navMenu = navView.getMenu(); - navMenu.findItem(R.id.nav_exit).setVisible(appSettings.isShowExitButtonInNavAlso()); - + navMenu.findItem(R.id.nav_exit).setVisible(appSettings.isVisibleInNavExit()); + navMenu.findItem(R.id.nav_activities).setVisible(appSettings.isVisibleInNavActivities()); + navMenu.findItem(R.id.nav_aspects).setVisible(appSettings.isVisibleInNavAspects()); + navMenu.findItem(R.id.nav_commented).setVisible(appSettings.isVisibleInNavCommented()); + navMenu.findItem(R.id.nav_followed_tags).setVisible(appSettings.isVisibleInNavFollowed_tags()); + navMenu.findItem(R.id.nav_help_license).setVisible(appSettings.isVisibleInNavHelp_license()); + navMenu.findItem(R.id.nav_liked).setVisible(appSettings.isVisibleInNavLiked()); + navMenu.findItem(R.id.nav_mentions).setVisible(appSettings.isVisibleInNavMentions()); + navMenu.findItem(R.id.nav_profile).setVisible(appSettings.isVisibleInNavProfile()); + navMenu.findItem(R.id.nav_public).setVisible(appSettings.isVisibleInNavPublic_activities()); } @OnClick(R.id.toolbar) @@ -467,7 +474,8 @@ public class MainActivity extends AppCompatActivity if (intent.hasExtra(Intent.EXTRA_SUBJECT)) { handleSendSubject(intent); } else { - handleSendText(intent);} + handleSendText(intent); + } break; case "image/*": handleSendImage(intent); //TODO: Add intent filter to Manifest and implement method @@ -632,7 +640,7 @@ public class MainActivity extends AppCompatActivity } case R.id.action_reload: { - if(WebHelper.isOnline(MainActivity.this)) { + if (WebHelper.isOnline(MainActivity.this)) { webView.reload(); return true; } else { @@ -848,7 +856,7 @@ public class MainActivity extends AppCompatActivity void handleSendText(Intent intent) { String content = WebHelper.replaceUrlWithMarkdown(intent.getStringExtra(Intent.EXTRA_TEXT)); - if(appSettings.isAppendSharedViaApp()) { + if (appSettings.isAppendSharedViaApp()) { // = \n content = content + "\n\n" + getString(R.string.shared_by_diaspora_android); } @@ -865,6 +873,7 @@ public class MainActivity extends AppCompatActivity /** * Handle sent text + subject + * * @param intent */ void handleSendSubject(Intent intent) { @@ -928,12 +937,12 @@ public class MainActivity extends AppCompatActivity } @JavascriptInterface - public void contentHasBeenShared(){ + public void contentHasBeenShared() { textToBeShared = null; } @JavascriptInterface - public void log(final String log){ + public void log(final String log) { //Log.d(App.TAG, "[wv] " + log); } } @@ -1037,7 +1046,7 @@ public class MainActivity extends AppCompatActivity } break; - case R.id.nav_license_help: { + case R.id.nav_help_license: { final CharSequence[] options = {getString(R.string.help_license__name), getString(R.string.help_markdown__name)}; new AlertDialog.Builder(MainActivity.this) .setItems(options, new DialogInterface.OnClickListener() { diff --git a/app/src/main/java/com/github/dfa/diaspora_android/activity/SettingsActivity.java b/app/src/main/java/com/github/dfa/diaspora_android/activity/SettingsActivity.java index 87f429b0..3d1df40e 100644 --- a/app/src/main/java/com/github/dfa/diaspora_android/activity/SettingsActivity.java +++ b/app/src/main/java/com/github/dfa/diaspora_android/activity/SettingsActivity.java @@ -125,7 +125,15 @@ public class SettingsActivity extends PreferenceActivity implements SharedPrefer intent.setAction(MainActivity.ACTION_CLEAR_CACHE); break; } - case R.string.pref_title__show_exit_button_in_nav_also: + case R.string.nav_activities: + case R.string.nav_aspects: + case R.string.nav_commented: + case R.string.nav_followed_tags: + case R.string.nav_help_license: + case R.string.nav_liked: + case R.string.nav_mentions: + case R.string.nav_profile: + case R.string.nav_public_activities: case R.string.pref_title__intellihide_toolbars: { activityRestartRequired = true; return true; diff --git a/app/src/main/java/com/github/dfa/diaspora_android/data/AppSettings.java b/app/src/main/java/com/github/dfa/diaspora_android/data/AppSettings.java index e15f35e2..9b6a8db2 100644 --- a/app/src/main/java/com/github/dfa/diaspora_android/data/AppSettings.java +++ b/app/src/main/java/com/github/dfa/diaspora_android/data/AppSettings.java @@ -178,7 +178,7 @@ public class AppSettings { setStringArray(prefPod, R.string.pref_key__podprofile_followed_tags, tags); } - public int getUnreadMessageCount(){ + public int getUnreadMessageCount() { return getInt(prefPod, R.string.pref_key__podprofile_unread_message_count, 0); } @@ -186,7 +186,7 @@ public class AppSettings { setInt(prefPod, R.string.pref_key__podprofile_unread_message_count, unreadMessageCount); } - public int getNotificationCount(){ + public int getNotificationCount() { return getInt(prefPod, R.string.pref_key__podprofile_notification_count, 0); } @@ -255,7 +255,43 @@ public class AppSettings { return getBoolean(prefApp, R.string.pref_key__intellihide_toolbars, true); } - public boolean isShowExitButtonInNavAlso(){ - return getBoolean(prefApp, R.string.pref_key__show_exit_button_in_nav_also, false); + public boolean isVisibleInNavExit() { + return getBoolean(prefApp, R.string.pref_key__visibility_nav__exit, false); + } + + public boolean isVisibleInNavHelp_license() { + return getBoolean(prefApp, R.string.pref_key__visibility_nav__help_license, false); + } + + public boolean isVisibleInNavPublic_activities() { + return getBoolean(prefApp, R.string.pref_key__visibility_nav__public_activities, false); + } + + public boolean isVisibleInNavMentions() { + return getBoolean(prefApp, R.string.pref_key__visibility_nav__mentions, false); + } + + public boolean isVisibleInNavCommented() { + return getBoolean(prefApp, R.string.pref_key__visibility_nav__commented, false); + } + + public boolean isVisibleInNavLiked() { + return getBoolean(prefApp, R.string.pref_key__visibility_nav__liked, false); + } + + public boolean isVisibleInNavActivities() { + return getBoolean(prefApp, R.string.pref_key__visibility_nav__activities, false); + } + + public boolean isVisibleInNavAspects() { + return getBoolean(prefApp, R.string.pref_key__visibility_nav__aspects, false); + } + + public boolean isVisibleInNavFollowed_tags() { + return getBoolean(prefApp, R.string.pref_key__visibility_nav__followed_tags, false); + } + + public boolean isVisibleInNavProfile() { + return getBoolean(prefApp, R.string.pref_key__visibility_nav__profile, false); } } diff --git a/app/src/main/res/menu/main__navdrawer.xml b/app/src/main/res/menu/main__navdrawer.xml index 14cb764f..7e2c360a 100644 --- a/app/src/main/res/menu/main__navdrawer.xml +++ b/app/src/main/res/menu/main__navdrawer.xml @@ -61,7 +61,7 @@ android:title="@string/nav_settings_view" /> diff --git a/app/src/main/res/values-de/strings-preferences.xml b/app/src/main/res/values-de/strings-preferences.xml index 4b7560a1..425cbf88 100644 --- a/app/src/main/res/values-de/strings-preferences.xml +++ b/app/src/main/res/values-de/strings-preferences.xml @@ -18,8 +18,6 @@ Nutze einen Proxyserver, um Firewalls zu umgehen Host Port - Beenden Button im Slider - Fügt einen zusätzlichen »App beenden« Button zum Navigations-Slider hinzu Persönliche Einstellungen Öffne die Einstellungen deines Diaspora Accounts diff --git a/app/src/main/res/values-fr/strings-preferences.xml b/app/src/main/res/values-fr/strings-preferences.xml index 7c35bacb..62cb890c 100644 --- a/app/src/main/res/values-fr/strings-preferences.xml +++ b/app/src/main/res/values-fr/strings-preferences.xml @@ -18,8 +18,6 @@ Serveur Proxy.\n(Nécessite un redémarrage) Hôte Port - Bouton \"Quitter\" dans la barre de navigation - Ajouter le bouton »Quitter l\'application« dans la barre de navigation Paramètres personnels Ouvrir vos paramètres de compte Diaspora diff --git a/app/src/main/res/values-ja/strings-preferences.xml b/app/src/main/res/values-ja/strings-preferences.xml index 10921690..7b83d0f3 100644 --- a/app/src/main/res/values-ja/strings-preferences.xml +++ b/app/src/main/res/values-ja/strings-preferences.xml @@ -18,8 +18,6 @@ Diaspora の通信をプロキシして、ファイアウォールに回避します。\n再起動が必要になることがあります ホスト ポート - ナビゲーション スライダーに終了ボタン - ナビゲーション スライダーに »アプリを終了« ボタンを追加します 個人用設定 Diaspora アカウント設定を開きます diff --git a/app/src/main/res/values-pt-rBR/strings-preferences.xml b/app/src/main/res/values-pt-rBR/strings-preferences.xml index f4d96138..8e63275f 100644 --- a/app/src/main/res/values-pt-rBR/strings-preferences.xml +++ b/app/src/main/res/values-pt-rBR/strings-preferences.xml @@ -18,8 +18,6 @@ Usar proxy para o tráfego da diáspora para contornar firewalls.\nPode requerer reinicialização Servidor Porta - Botão de sair na barra de navegação - Adiciona um botão extra » Sair App «na barra de navegação Configurações pessoais Abra suas configurações de usuário diáspora diff --git a/app/src/main/res/values-ru/strings-preferences.xml b/app/src/main/res/values-ru/strings-preferences.xml index b927b3df..4a2e926d 100644 --- a/app/src/main/res/values-ru/strings-preferences.xml +++ b/app/src/main/res/values-ru/strings-preferences.xml @@ -18,8 +18,6 @@ Перенаправить трафик Диаспоры в обход брандмауэров.\nМожет потребовать перезапуска Хост Порт - Кнопка выхода на навигационном слайдере - Добавляет дополнительную кнопку »Выйти« на навигационный слайдер Личные настройки Открыть настройки аккаунта диаспоры diff --git a/app/src/main/res/values/color.xml b/app/src/main/res/values/color.xml index 9d2bf591..b69c9db7 100644 --- a/app/src/main/res/values/color.xml +++ b/app/src/main/res/values/color.xml @@ -10,7 +10,5 @@ #8b685b - @color/accent - #ffffff diff --git a/app/src/main/res/values/strings-preferences.xml b/app/src/main/res/values/strings-preferences.xml index 77b45318..e724c71d 100644 --- a/app/src/main/res/values/strings-preferences.xml +++ b/app/src/main/res/values/strings-preferences.xml @@ -14,7 +14,6 @@ pref_key_category_network pref_key_load_images pref_key_clear_cache - pref_key__show_exit_button_in_nav_also pref_key_append_shared_via_app pref_key_proxy_enabled @@ -22,9 +21,24 @@ pref_key_proxy_port wasProxyEnabled + + Navigation Slider + Multiple settings for the navigation drawer + pref_catkey__visibility_navslider + Item visibility + pref_key__visibility_navslider__exit + pref_key__visibility_nav__help_license + pref_key__visibility_nav__public_activities + pref_key__visibility_nav__mentions + pref_key__visibility_nav__commented + pref_key__visibility_nav__liked + pref_key__visibility_nav__activities + pref_key__visibility_nav__aspects + pref_key__visibility_nav__followed_tags + pref_key__visibility_nav__profile - + podUserProfile_avatar podUserProfile_name podUserProfile_guid @@ -40,6 +54,8 @@ Pod settings + + Font size @@ -64,9 +80,6 @@ Host Port - Exit button in navigation slider - Adds an additional »Exit App« button to the navigation slider - Personal settings diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index d55b805a..9119660e 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -130,6 +130,5 @@ <i>The splashscreen images can be found on flickr: https://www.flickr.com/photos/129581906@N06/sets/72157651933980136/with/16594947123. They were published by \"Lydia\" and are licensed under cc by-nc-sa.</i> - diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml index 1860f897..7113c720 100644 --- a/app/src/main/res/xml/preferences.xml +++ b/app/src/main/res/xml/preferences.xml @@ -4,31 +4,78 @@ + + + + + + + + + + + + + + + + + + + + android:title="@string/pref_title__font_size" /> + android:title="@string/pref_title__intellihide_toolbars" /> - - + android:title="@string/pref_title__append_shared_via_app" /> @@ -39,26 +86,22 @@ - + android:title="@string/pref_title__personal_settings" /> - + android:title="@string/pref_title__manage_tags" /> - + android:title="@string/pref_title__manage_contacts" /> - + android:title="@string/pref_title__change_account" /> @@ -69,28 +112,27 @@ android:defaultValue="true" android:key="@string/pref_key__load_images" android:summary="@string/pref_desc__load_images" - android:title="@string/pref_title__load_images"/> + android:title="@string/pref_title__load_images" /> - + android:title="@string/pref_title__clear_cache" /> + android:title="@string/pref_title__proxy_enabled" /> + android:title="@string/pref_title__proxy_host" /> + android:title="@string/pref_title__proxy_port" /> \ No newline at end of file