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}