From 1e200e3e105a17770c1bb8abd2f61c5d1580bb56 Mon Sep 17 00:00:00 2001 From: M66B Date: Wed, 16 Oct 2019 15:12:39 +0200 Subject: [PATCH] Moved manage local contacts to send settings --- .../java/eu/faircode/email/ActivitySetup.java | 36 +++++++++---------- .../faircode/email/FragmentOptionsSend.java | 13 +++++++ .../main/res/layout/fragment_options_send.xml | 15 +++++++- app/src/main/res/values/strings.xml | 2 +- 4 files changed, 44 insertions(+), 22 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/ActivitySetup.java b/app/src/main/java/eu/faircode/email/ActivitySetup.java index b03445ca7d..9af8b47582 100644 --- a/app/src/main/java/eu/faircode/email/ActivitySetup.java +++ b/app/src/main/java/eu/faircode/email/ActivitySetup.java @@ -122,6 +122,7 @@ public class ActivitySetup extends ActivityBase implements FragmentManager.OnBac static final String ACTION_VIEW_IDENTITIES = BuildConfig.APPLICATION_ID + ".ACTION_VIEW_IDENTITIES"; static final String ACTION_EDIT_ACCOUNT = BuildConfig.APPLICATION_ID + ".EDIT_ACCOUNT"; static final String ACTION_EDIT_IDENTITY = BuildConfig.APPLICATION_ID + ".EDIT_IDENTITY"; + static final String ACTION_MANAGE_LOCAL_CONTACTS = BuildConfig.APPLICATION_ID + ".LOCAL_CONTACTS"; @Override protected void onCreate(Bundle savedInstanceState) { @@ -191,13 +192,14 @@ public class ActivitySetup extends ActivityBase implements FragmentManager.OnBac } })); - menus.add(new NavMenuItem(R.drawable.baseline_reorder_24, R.string.title_setup_reorder_folders, new Runnable() { + NavMenuItem order = new NavMenuItem(R.drawable.baseline_reorder_24, R.string.title_setup_reorder_folders, new Runnable() { @Override public void run() { drawerLayout.closeDrawer(drawerContainer); onMenuOrder(R.string.title_setup_reorder_folders, TupleFolderSort.class); } - })); + }); + menus.add(order); if (Helper.canAuthenticate(this)) menus.add(new NavMenuItem(R.drawable.baseline_fingerprint_24, R.string.title_setup_authentication, new Runnable() { @@ -206,15 +208,9 @@ public class ActivitySetup extends ActivityBase implements FragmentManager.OnBac drawerLayout.closeDrawer(drawerContainer); onMenuBiometrics(); } - })); - - menus.add(new NavMenuItem(R.drawable.baseline_person_24, R.string.menu_contacts, new Runnable() { - @Override - public void run() { - drawerLayout.closeDrawer(drawerContainer); - onMenuContacts(); - } - }).setSeparated()); + }).setSeparated()); + else + order.setSeparated(); menus.add(new NavMenuItem(R.drawable.baseline_help_24, R.string.menu_legend, new Runnable() { @Override @@ -304,6 +300,7 @@ public class ActivitySetup extends ActivityBase implements FragmentManager.OnBac iff.addAction(ACTION_VIEW_IDENTITIES); iff.addAction(ACTION_EDIT_ACCOUNT); iff.addAction(ACTION_EDIT_IDENTITY); + iff.addAction(ACTION_MANAGE_LOCAL_CONTACTS); lbm.registerReceiver(receiver, iff); } @@ -440,15 +437,6 @@ public class ActivitySetup extends ActivityBase implements FragmentManager.OnBac }); } - private void onMenuContacts() { - if (getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.STARTED)) - getSupportFragmentManager().popBackStack("contacts", FragmentManager.POP_BACK_STACK_INCLUSIVE); - - FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction(); - fragmentTransaction.replace(R.id.content_frame, new FragmentContacts()).addToBackStack("contacts"); - fragmentTransaction.commit(); - } - private void onMenuLegend() { if (getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.STARTED)) getSupportFragmentManager().popBackStack("legend", FragmentManager.POP_BACK_STACK_INCLUSIVE); @@ -1082,6 +1070,12 @@ public class ActivitySetup extends ActivityBase implements FragmentManager.OnBac fragmentTransaction.commit(); } + private void onManageLocalContacts(Intent intent) { + FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction(); + fragmentTransaction.replace(R.id.content_frame, new FragmentContacts()).addToBackStack("contacts"); + fragmentTransaction.commit(); + } + private static Intent getIntentExport() { Intent intent = new Intent(Intent.ACTION_CREATE_DOCUMENT); intent.addCategory(Intent.CATEGORY_OPENABLE); @@ -1171,6 +1165,8 @@ public class ActivitySetup extends ActivityBase implements FragmentManager.OnBac onEditAccount(intent); else if (ACTION_EDIT_IDENTITY.equals(action)) onEditIdentity(intent); + else if (ACTION_MANAGE_LOCAL_CONTACTS.equals(action)) + onManageLocalContacts(intent); } } }; diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsSend.java b/app/src/main/java/eu/faircode/email/FragmentOptionsSend.java index c17769ba6f..8bddabd14a 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptionsSend.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptionsSend.java @@ -19,6 +19,7 @@ package eu.faircode.email; Copyright 2018-2019 by Marcel Bokhorst (M66B) */ +import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.view.LayoutInflater; @@ -28,6 +29,7 @@ import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; +import android.widget.Button; import android.widget.CompoundButton; import android.widget.Spinner; import android.widget.TextView; @@ -37,12 +39,14 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.widget.SwitchCompat; import androidx.lifecycle.Lifecycle; +import androidx.localbroadcastmanager.content.LocalBroadcastManager; import androidx.preference.PreferenceManager; public class FragmentOptionsSend extends FragmentBase implements SharedPreferences.OnSharedPreferenceChangeListener { private SwitchCompat swKeyboard; private SwitchCompat swSuggestSent; private SwitchCompat swSuggestReceived; + private Button btnLocalContacts; private SwitchCompat swPrefixOnce; private SwitchCompat swPlainOnly; private SwitchCompat swUsenetSignature; @@ -72,6 +76,7 @@ public class FragmentOptionsSend extends FragmentBase implements SharedPreferenc swKeyboard = view.findViewById(R.id.swKeyboard); swSuggestSent = view.findViewById(R.id.swSuggestSent); swSuggestReceived = view.findViewById(R.id.swSuggestReceived); + btnLocalContacts = view.findViewById(R.id.btnLocalContacts); swPrefixOnce = view.findViewById(R.id.swPrefixOnce); swPlainOnly = view.findViewById(R.id.swPlainOnly); swUsenetSignature = view.findViewById(R.id.swUsenetSignature); @@ -110,6 +115,14 @@ public class FragmentOptionsSend extends FragmentBase implements SharedPreferenc } }); + btnLocalContacts.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(getContext()); + lbm.sendBroadcast(new Intent(ActivitySetup.ACTION_MANAGE_LOCAL_CONTACTS)); + } + }); + swPrefixOnce.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { diff --git a/app/src/main/res/layout/fragment_options_send.xml b/app/src/main/res/layout/fragment_options_send.xml index cc890466eb..8ebbbb29ba 100644 --- a/app/src/main/res/layout/fragment_options_send.xml +++ b/app/src/main/res/layout/fragment_options_send.xml @@ -71,6 +71,19 @@ app:layout_constraintTop_toBottomOf="@id/swSuggestSent" app:switchPadding="12dp" /> +