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 @Override
30 public void onStart() {
31 super.onStart();
32 /* final int theme = findTheme();
33 if (this.mTheme != theme) {
34 recreate();
35 }*/
36 }
37
38
39 @Override
40 public boolean onOptionsItemSelected(final MenuItem item) {
41 if (item.getItemId() == android.R.id.home) {
42 startActivity(new Intent(this, WelcomeActivity.class));
43 finish();
44 return true;
45 }
46 return super.onOptionsItemSelected(item);
47 }
48
49 @Override
50 public void onBackPressed() {
51 startActivity(new Intent(this, WelcomeActivity.class));
52 super.onBackPressed();
53 }
54
55 @Override
56 public void onNewIntent(Intent intent) {
57 if (intent != null) {
58 setIntent(intent);
59 }
60 }
61
62 @Override
63 protected void onCreate(final Bundle savedInstanceState) {
64 if (getResources().getBoolean(R.bool.portrait_only)) {
65 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
66 }
67 super.onCreate(savedInstanceState);
68 ActivityPickServerBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_pick_server);
69 setSupportActionBar(binding.toolbar);
70 configureActionBar(getSupportActionBar());
71 binding.useCim.setOnClickListener(v -> {
72 final Intent intent = new Intent(this, MagicCreateActivity.class);
73 intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
74 addInviteUri(intent);
75 startActivity(intent);
76 });
77 binding.useOwnProvider.setOnClickListener(v -> {
78 List<Account> accounts = xmppConnectionService.getAccounts();
79 Intent intent = new Intent(this, EditAccountActivity.class);
80 intent.putExtra(EditAccountActivity.EXTRA_FORCE_REGISTER, true);
81 if (accounts.size() == 1) {
82 intent.putExtra("jid", accounts.get(0).getJid().asBareJid().toString());
83 intent.putExtra("init", true);
84 } else if (accounts.size() >= 1) {
85 intent = new Intent(this, ManageAccountActivity.class);
86 }
87 addInviteUri(intent);
88 startActivity(intent);
89 });
90
91 }
92
93 public void addInviteUri(Intent intent) {
94 StartConversationActivity.addInviteUri(intent, getIntent());
95 }
96
97 public static void launch(AppCompatActivity activity) {
98 Intent intent = new Intent(activity, PickServerActivity.class);
99 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
100 activity.startActivity(intent);
101 activity.overridePendingTransition(0, 0);
102 }
103
104}