mirror of
https://github.com/etesync/android
synced 2024-11-25 17:38:13 +00:00
Accept intent extras for LoginActivity
This commit is contained in:
parent
7416c62c97
commit
ac940b3a12
@ -10,6 +10,7 @@ package at.bitfire.davdroid.ui.setup;
|
|||||||
|
|
||||||
import android.accounts.Account;
|
import android.accounts.Account;
|
||||||
import android.accounts.AccountManager;
|
import android.accounts.AccountManager;
|
||||||
|
import android.app.Activity;
|
||||||
import android.content.ContentResolver;
|
import android.content.ContentResolver;
|
||||||
import android.content.ContentValues;
|
import android.content.ContentValues;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
@ -92,9 +93,10 @@ public class AccountDetailsFragment extends Fragment {
|
|||||||
if (name.isEmpty())
|
if (name.isEmpty())
|
||||||
editName.setError(getString(R.string.login_account_name_required));
|
editName.setError(getString(R.string.login_account_name_required));
|
||||||
else {
|
else {
|
||||||
if (createAccount(name, (DavResourceFinder.Configuration)getArguments().getSerializable(KEY_CONFIG)))
|
if (createAccount(name, (DavResourceFinder.Configuration)getArguments().getSerializable(KEY_CONFIG))) {
|
||||||
|
getActivity().setResult(Activity.RESULT_OK);
|
||||||
getActivity().finish();
|
getActivity().finish();
|
||||||
else
|
} else
|
||||||
Snackbar.make(v, R.string.login_account_not_created, Snackbar.LENGTH_LONG).show();
|
Snackbar.make(v, R.string.login_account_not_created, Snackbar.LENGTH_LONG).show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,8 +17,30 @@ import android.view.MenuItem;
|
|||||||
import at.bitfire.davdroid.Constants;
|
import at.bitfire.davdroid.Constants;
|
||||||
import at.bitfire.davdroid.R;
|
import at.bitfire.davdroid.R;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Activity to initially connect to a server and create an account.
|
||||||
|
* Fields for server/user data can be pre-filled with extras in the Intent.
|
||||||
|
*/
|
||||||
public class LoginActivity extends AppCompatActivity {
|
public class LoginActivity extends AppCompatActivity {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* When set, "login by URL" will be activated by default, and the URL field will be set to this value.
|
||||||
|
* When not set, "login by email" will be activated by default.
|
||||||
|
*/
|
||||||
|
public static final String EXTRA_URL = "url";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* When set, and {@link #EXTRA_PASSWORD} is set too, the user name field will be set to this value.
|
||||||
|
* When set, and {@link #EXTRA_URL} is not set, the email address field will be set to this value.
|
||||||
|
*/
|
||||||
|
public static final String EXTRA_USERNAME = "username";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* When set, the password field will be set to this value.
|
||||||
|
*/
|
||||||
|
public static final String EXTRA_PASSWORD = "password";
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
@ -8,6 +8,8 @@
|
|||||||
|
|
||||||
package at.bitfire.davdroid.ui.setup;
|
package at.bitfire.davdroid.ui.setup;
|
||||||
|
|
||||||
|
import android.app.Activity;
|
||||||
|
import android.content.Intent;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.v4.app.Fragment;
|
import android.support.v4.app.Fragment;
|
||||||
@ -63,8 +65,31 @@ public class LoginCredentialsFragment extends Fragment implements CompoundButton
|
|||||||
radioUseEmail.setOnCheckedChangeListener(this);
|
radioUseEmail.setOnCheckedChangeListener(this);
|
||||||
radioUseURL.setOnCheckedChangeListener(this);
|
radioUseURL.setOnCheckedChangeListener(this);
|
||||||
|
|
||||||
if (savedInstanceState == null)
|
if (savedInstanceState == null) {
|
||||||
radioUseEmail.setChecked(true);
|
// first call
|
||||||
|
|
||||||
|
Activity activity = getActivity();
|
||||||
|
Intent intent = (activity != null) ? activity.getIntent() : null;
|
||||||
|
if (intent != null) {
|
||||||
|
// we've got initial login data
|
||||||
|
String url = intent.getStringExtra(LoginActivity.EXTRA_URL),
|
||||||
|
username = intent.getStringExtra(LoginActivity.EXTRA_USERNAME),
|
||||||
|
password = intent.getStringExtra(LoginActivity.EXTRA_PASSWORD);
|
||||||
|
|
||||||
|
if (url != null) {
|
||||||
|
radioUseURL.setChecked(true);
|
||||||
|
editBaseURL.setText(url);
|
||||||
|
editUserName.setText(username);
|
||||||
|
editUrlPassword.setText(password);
|
||||||
|
} else {
|
||||||
|
radioUseEmail.setChecked(true);
|
||||||
|
editEmailAddress.setText(username);
|
||||||
|
editEmailPassword.setText(password);
|
||||||
|
}
|
||||||
|
|
||||||
|
} else
|
||||||
|
radioUseEmail.setChecked(true);
|
||||||
|
}
|
||||||
|
|
||||||
final Button login = (Button)v.findViewById(R.id.login);
|
final Button login = (Button)v.findViewById(R.id.login);
|
||||||
login.setOnClickListener(new View.OnClickListener() {
|
login.setOnClickListener(new View.OnClickListener() {
|
||||||
|
2
doc/.gitignore
vendored
2
doc/.gitignore
vendored
@ -1 +1 @@
|
|||||||
pr/
|
javadoc/
|
||||||
|
Loading…
Reference in New Issue
Block a user