diff --git a/src/cheogram/java/eu/siacs/conversations/ui/ManageAccountActivity.java b/src/cheogram/java/eu/siacs/conversations/ui/ManageAccountActivity.java index c1ee451be7ac01ac8a25b3e7fd7cddedf6885750..0fc4757cdf09261cdd3e5d8e7bdd73fda8f30733 100644 --- a/src/cheogram/java/eu/siacs/conversations/ui/ManageAccountActivity.java +++ b/src/cheogram/java/eu/siacs/conversations/ui/ManageAccountActivity.java @@ -1,6 +1,7 @@ package eu.siacs.conversations.ui; import android.content.ActivityNotFoundException; +import android.content.ComponentName; import android.content.Intent; import android.os.Bundle; import android.security.KeyChain; @@ -28,6 +29,7 @@ import java.util.concurrent.atomic.AtomicBoolean; import eu.siacs.conversations.Config; import eu.siacs.conversations.R; import eu.siacs.conversations.entities.Account; +import eu.siacs.conversations.entities.Contact; import eu.siacs.conversations.services.XmppConnectionService; import eu.siacs.conversations.services.XmppConnectionService.OnAccountUpdate; import eu.siacs.conversations.ui.adapter.AccountAdapter; @@ -72,6 +74,27 @@ public class ManageAccountActivity extends XmppActivity implements OnAccountUpda } invalidateOptionsMenu(); mAccountAdapter.notifyDataSetChanged(); + + findViewById(R.id.phone_accounts).setVisibility(View.GONE); + findViewById(R.id.phone_accounts).setOnClickListener((View v) -> { + Intent intent = new Intent(); + intent.setComponent(new ComponentName("com.android.server.telecom", + "com.android.server.telecom.settings.EnableAccountPreferenceActivity")); + startActivity(intent); + }); + findViewById(R.id.phone_accounts_settings).setOnClickListener((View v) -> { + startActivity(new Intent(android.telecom.TelecomManager.ACTION_CHANGE_PHONE_ACCOUNTS)); + }); + + outer: + for (Account account : xmppConnectionService.getAccounts()) { + for (Contact contact : account.getRoster().getContacts()) { + if (contact.getPresences().anyIdentity("gateway", "pstn")) { + findViewById(R.id.phone_accounts).setVisibility(View.VISIBLE); + break outer; + } + } + } } @Override diff --git a/src/cheogram/res/values/themes.xml b/src/cheogram/res/values/themes.xml index daf92ce7f499d46c587e3951a62dfc56a7db1aa0..052fd01d32d5802c0d8d2dc443bedff2046614bc 100644 --- a/src/cheogram/res/values/themes.xml +++ b/src/cheogram/res/values/themes.xml @@ -151,7 +151,7 @@