PickServerActivity.java

 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}