1package eu.siacs.conversations.ui;
2
3import android.content.Intent;
4import android.content.pm.ActivityInfo;
5import android.os.Bundle;
6import android.view.MenuItem;
7
8import androidx.appcompat.app.AppCompatActivity;
9import androidx.databinding.DataBindingUtil;
10
11import java.util.List;
12
13import eu.siacs.conversations.R;
14import eu.siacs.conversations.databinding.ActivityPickServerBinding;
15import eu.siacs.conversations.entities.Account;
16
17public class PickServerActivity extends XmppActivity {
18
19 @Override
20 protected void refreshUiReal() {
21
22 }
23
24 @Override
25 protected void onBackendConnected() {
26
27 }
28
29
30 @Override
31 public boolean onOptionsItemSelected(final MenuItem item) {
32 if (item.getItemId() == android.R.id.home) {
33 startActivity(new Intent(this, WelcomeActivity.class));
34 finish();
35 return true;
36 }
37 return super.onOptionsItemSelected(item);
38 }
39
40 @Override
41 public void onBackPressed() {
42 startActivity(new Intent(this, WelcomeActivity.class));
43 super.onBackPressed();
44 }
45
46 @Override
47 public void onNewIntent(final Intent intent) {
48 super.onNewIntent(intent);
49 if (intent != null) {
50 setIntent(intent);
51 }
52 }
53
54 @Override
55 protected void onCreate(final Bundle savedInstanceState) {
56 if (getResources().getBoolean(R.bool.portrait_only)) {
57 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
58 }
59 super.onCreate(savedInstanceState);
60 ActivityPickServerBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_pick_server);
61 Activities.setStatusAndNavigationBarColors(this, binding.getRoot());
62 setSupportActionBar(binding.toolbar);
63 configureActionBar(getSupportActionBar());
64 binding.useCim.setOnClickListener(v -> {
65 final Intent intent = new Intent(this, MagicCreateActivity.class);
66 intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
67 addInviteUri(intent);
68 startActivity(intent);
69 });
70 binding.useOwnProvider.setOnClickListener(v -> {
71 List<Account> accounts = xmppConnectionService.getAccounts();
72 Intent intent = new Intent(this, EditAccountActivity.class);
73 intent.putExtra(EditAccountActivity.EXTRA_FORCE_REGISTER, true);
74 if (accounts.size() == 1) {
75 intent.putExtra("jid", accounts.get(0).getJid().asBareJid().toString());
76 intent.putExtra("init", true);
77 } else if (!accounts.isEmpty()) {
78 intent = new Intent(this, ManageAccountActivity.class);
79 }
80 addInviteUri(intent);
81 startActivity(intent);
82 });
83
84 }
85
86 public void addInviteUri(Intent intent) {
87 StartConversationActivity.addInviteUri(intent, getIntent());
88 }
89
90 public static void launch(AppCompatActivity activity) {
91 Intent intent = new Intent(activity, PickServerActivity.class);
92 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
93 activity.startActivity(intent);
94 activity.overridePendingTransition(0, 0);
95 }
96
97}