DeepLinkLoginActivity.java 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package com.owncloud.android.authentication;
  2. import android.net.Uri;
  3. import android.os.Bundle;
  4. import android.widget.TextView;
  5. import android.widget.Toast;
  6. import com.owncloud.android.R;
  7. import com.owncloud.android.utils.ThemeUtils;
  8. public class DeepLinkLoginActivity extends AuthenticatorActivity {
  9. @Override
  10. protected void onCreate(Bundle savedInstanceState) {
  11. super.onCreate(savedInstanceState);
  12. if (!getResources().getBoolean(R.bool.multiaccount_support) &&
  13. accountManager.getAccounts().length == 1) {
  14. Toast.makeText(this, R.string.no_mutliple_accounts_allowed, Toast.LENGTH_LONG).show();
  15. return;
  16. }
  17. setContentView(R.layout.deep_link_login);
  18. Uri data = getIntent().getData();
  19. if (data != null) {
  20. try {
  21. String prefix = getString(R.string.login_data_own_scheme) + PROTOCOL_SUFFIX + "login/";
  22. LoginUrlInfo loginUrlInfo = parseLoginDataUrl(prefix, data.toString());
  23. TextView loginText = findViewById(R.id.loginInfo);
  24. loginText.setTextColor(ThemeUtils.fontColor(this));
  25. loginText.setText(String.format("Login with %1$s to %2$s", loginUrlInfo.username,
  26. loginUrlInfo.serverAddress));
  27. } catch (IllegalArgumentException e) {
  28. Toast.makeText(this, R.string.direct_login_failed, Toast.LENGTH_LONG).show();
  29. }
  30. }
  31. }
  32. }