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    @Override
 30    public void onStart() {
 31        super.onStart();
 32        /* final int theme = findTheme();
 33        if (this.mTheme != theme) {
 34            recreate();
 35        }*/
 36    }
 37
 38
 39    @Override
 40    public boolean onOptionsItemSelected(final MenuItem item) {
 41        if (item.getItemId() == android.R.id.home) {
 42            startActivity(new Intent(this, WelcomeActivity.class));
 43            finish();
 44            return true;
 45        }
 46        return super.onOptionsItemSelected(item);
 47    }
 48
 49    @Override
 50    public void onBackPressed() {
 51        startActivity(new Intent(this, WelcomeActivity.class));
 52        super.onBackPressed();
 53    }
 54
 55    @Override
 56    public void onNewIntent(Intent intent) {
 57        if (intent != null) {
 58            setIntent(intent);
 59        }
 60    }
 61
 62    @Override
 63    protected void onCreate(final Bundle savedInstanceState) {
 64        if (getResources().getBoolean(R.bool.portrait_only)) {
 65            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
 66        }
 67        super.onCreate(savedInstanceState);
 68        ActivityPickServerBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_pick_server);
 69        setSupportActionBar(binding.toolbar);
 70        configureActionBar(getSupportActionBar());
 71        binding.useCim.setOnClickListener(v -> {
 72            final Intent intent = new Intent(this, MagicCreateActivity.class);
 73            intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
 74            addInviteUri(intent);
 75            startActivity(intent);
 76        });
 77        binding.useOwnProvider.setOnClickListener(v -> {
 78            List<Account> accounts = xmppConnectionService.getAccounts();
 79            Intent intent = new Intent(this, EditAccountActivity.class);
 80            intent.putExtra(EditAccountActivity.EXTRA_FORCE_REGISTER, true);
 81            if (accounts.size() == 1) {
 82                intent.putExtra("jid", accounts.get(0).getJid().asBareJid().toString());
 83                intent.putExtra("init", true);
 84            } else if (accounts.size() >= 1) {
 85                intent = new Intent(this, ManageAccountActivity.class);
 86            }
 87            addInviteUri(intent);
 88            startActivity(intent);
 89        });
 90
 91    }
 92
 93    public void addInviteUri(Intent intent) {
 94        StartConversationActivity.addInviteUri(intent, getIntent());
 95    }
 96
 97    public static void launch(AppCompatActivity activity) {
 98        Intent intent = new Intent(activity, PickServerActivity.class);
 99        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
100        activity.startActivity(intent);
101        activity.overridePendingTransition(0, 0);
102    }
103
104}