WelcomeActivity.java

 1package eu.siacs.conversations.ui;
 2
 3import android.content.Intent;
 4import android.content.pm.ActivityInfo;
 5import android.os.Bundle;
 6import android.support.v7.app.ActionBar;
 7import android.support.v7.app.AppCompatActivity;
 8import android.widget.Button;
 9
10import java.util.List;
11
12import eu.siacs.conversations.R;
13import eu.siacs.conversations.entities.Account;
14import eu.siacs.conversations.utils.XmppUri;
15
16public class WelcomeActivity extends XmppActivity {
17
18	@Override
19	protected void refreshUiReal() {
20
21	}
22
23	@Override
24	void onBackendConnected() {
25
26	}
27
28	@Override
29	public void onStart() {
30		super.onStart();
31		final int theme = findTheme();
32		if (this.mTheme != theme) {
33			recreate();
34		}
35	}
36
37	@Override
38	public void onNewIntent(Intent intent) {
39		if (intent != null) {
40			setIntent(intent);
41		}
42	}
43
44	@Override
45	protected void onCreate(final Bundle savedInstanceState) {
46		if (getResources().getBoolean(R.bool.portrait_only)) {
47			setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
48		}
49		super.onCreate(savedInstanceState);
50		setContentView(R.layout.welcome);
51		setSupportActionBar(findViewById(R.id.toolbar));
52		final ActionBar ab = getSupportActionBar();
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			addInviteUri(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().asBareJid().toString());
70				intent.putExtra("init", true);
71			} else if (accounts.size() >= 1) {
72				intent = new Intent(WelcomeActivity.this, ManageAccountActivity.class);
73			}
74			addInviteUri(intent);
75			startActivity(intent);
76		});
77
78	}
79
80	public void addInviteUri(Intent intent) {
81		StartConversationActivity.addInviteUri(intent, getIntent());
82	}
83
84	public static void launch(AppCompatActivity activity) {
85		Intent intent = new Intent(activity, WelcomeActivity.class);
86		intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
87		activity.startActivity(intent);
88		activity.overridePendingTransition(0,0);
89	}
90
91}