diff --git a/AndroidManifest.xml b/AndroidManifest.xml index d649a1660..6b64ba6e3 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -34,6 +34,8 @@ + + diff --git a/res/layout/incoming.xml b/res/layout/incoming.xml index 663abddbb..1446ab81e 100644 --- a/res/layout/incoming.xml +++ b/res/layout/incoming.xml @@ -1,5 +1,6 @@ + android:layout_marginBottom="80dp" /> diff --git a/res/values/non_localizable_custom.xml b/res/values/non_localizable_custom.xml index f322106a4..50248a500 100644 --- a/res/values/non_localizable_custom.xml +++ b/res/values/non_localizable_custom.xml @@ -51,6 +51,7 @@ false + true false true true diff --git a/src/org/linphone/setup/WizardFragment.java b/src/org/linphone/setup/WizardFragment.java index 4309edff2..15c8ee055 100644 --- a/src/org/linphone/setup/WizardFragment.java +++ b/src/org/linphone/setup/WizardFragment.java @@ -18,17 +18,21 @@ along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ import java.net.URL; +import java.util.regex.Pattern; import org.linphone.LinphoneManager; import org.linphone.LinphoneService; import org.linphone.R; +import android.accounts.Account; +import android.accounts.AccountManager; import android.content.Context; import android.os.Bundle; import android.os.Handler; import android.support.v4.app.Fragment; import android.text.Editable; import android.text.TextWatcher; +import android.util.Patterns; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; @@ -86,6 +90,18 @@ public class WizardFragment extends Fragment { } }); + if (getResources().getBoolean(R.bool.pre_fill_email_in_wizard)) { + Account[] accounts = AccountManager.get(getActivity()).getAccountsByType("com.google"); + + for (Account account: accounts) { + if (isEmailCorrect(account.name)) { + String possibleEmail = account.name; + email.setText(possibleEmail); + break; + } + } + } + return view; } @@ -152,7 +168,8 @@ public class WizardFragment extends Fragment { } private boolean isEmailCorrect(String email) { - return email.matches("^[a-z0-9]+([_\\.-][a-z0-9]+)*@([a-z0-9]+([\\.-][a-z0-9]+)*)+\\.[a-z]{2,}$"); + Pattern emailPattern = Patterns.EMAIL_ADDRESS; + return emailPattern.matcher(email).matches(); } private boolean isPasswordCorrect(String password) {