WelcomeActivity.java

 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}