1package eu.siacs.conversations.ui;
2
3import android.app.ActionBar;
4import android.content.Intent;
5import android.content.pm.ActivityInfo;
6import android.os.Bundle;
7import android.widget.Button;
8
9import java.util.List;
10
11import eu.siacs.conversations.R;
12import eu.siacs.conversations.entities.Account;
13import eu.siacs.conversations.utils.XmppUri;
14
15public class WelcomeActivity extends XmppActivity {
16
17 public static final String EXTRA_INVITEE = "eu.siacs.conversations.invitee";
18
19 @Override
20 protected void refreshUiReal() {
21
22 }
23
24 @Override
25 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 @Override
39 public void onNewIntent(Intent intent) {
40 if (intent != null) {
41 setIntent(intent);
42 }
43 }
44
45 @Override
46 protected void onCreate(final Bundle savedInstanceState) {
47 if (getResources().getBoolean(R.bool.portrait_only)) {
48 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
49 }
50 super.onCreate(savedInstanceState);
51 setContentView(R.layout.welcome);
52 final ActionBar ab = getActionBar();
53 if (ab != null) {
54 ab.setDisplayShowHomeEnabled(false);
55 ab.setDisplayHomeAsUpEnabled(false);
56 }
57 final Button createAccount = findViewById(R.id.create_account);
58 createAccount.setOnClickListener(v -> {
59 final Intent intent = new Intent(WelcomeActivity.this, MagicCreateActivity.class);
60 intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
61 addInvitee(intent);
62 startActivity(intent);
63 });
64 final Button useOwnProvider = findViewById(R.id.use_own_provider);
65 useOwnProvider.setOnClickListener(v -> {
66 List<Account> accounts = xmppConnectionService.getAccounts();
67 Intent intent = new Intent(WelcomeActivity.this, EditAccountActivity.class);
68 if (accounts.size() == 1) {
69 intent.putExtra("jid", accounts.get(0).getJid().toBareJid().toString());
70 intent.putExtra("init", true);
71 } else if (accounts.size() >= 1) {
72 intent = new Intent(WelcomeActivity.this, ManageAccountActivity.class);
73 }
74 addInvitee(intent);
75 startActivity(intent);
76 });
77
78 }
79
80 public void addInvitee(Intent intent) {
81 addInvitee(intent, getIntent());
82 }
83
84 public static void addInvitee(Intent intent, XmppUri uri) {
85 if (uri.isJidValid()) {
86 intent.putExtra(EXTRA_INVITEE, uri.getJid().toString());
87 }
88 }
89
90 public static void addInvitee(Intent to, Intent from) {
91 if (from != null && from.hasExtra(EXTRA_INVITEE)) {
92 to.putExtra(EXTRA_INVITEE, from.getStringExtra(EXTRA_INVITEE));
93 }
94 }
95
96}