From 42166dda5ed9f8d324fa237a2efd112dbcbcfdab Mon Sep 17 00:00:00 2001 From: wangmengyan95 Date: Tue, 3 Nov 2015 11:56:58 -0800 Subject: [PATCH 01/11] Update maven pom license --- ParseUI-Login/build.gradle | 2 +- ParseUI-Widget/build.gradle | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ParseUI-Login/build.gradle b/ParseUI-Login/build.gradle index 6e1416f..f6b3db7 100644 --- a/ParseUI-Login/build.gradle +++ b/ParseUI-Login/build.gradle @@ -110,7 +110,7 @@ uploadArchives { licenses { license { - name 'BSD License' + name 'Platform License' url 'https://github.com/ParsePlatform/ParseUI-Android/blob/master/LICENSE' distribution 'repo' } diff --git a/ParseUI-Widget/build.gradle b/ParseUI-Widget/build.gradle index f8cc5b8..dfc48e2 100644 --- a/ParseUI-Widget/build.gradle +++ b/ParseUI-Widget/build.gradle @@ -109,7 +109,7 @@ uploadArchives { licenses { license { - name 'BSD License' + name 'Platform License' url 'https://github.com/ParsePlatform/ParseUI-Android/blob/master/LICENSE' distribution 'repo' } From e5040c8428abed7949cacf3096f60e63170c9174 Mon Sep 17 00:00:00 2001 From: wangmengyan95 Date: Sun, 8 Nov 2015 17:21:57 -0800 Subject: [PATCH 02/11] Add group in build.gradle --- ParseUI-Login/build.gradle | 1 + ParseUI-Widget/build.gradle | 1 + 2 files changed, 2 insertions(+) diff --git a/ParseUI-Login/build.gradle b/ParseUI-Login/build.gradle index f6b3db7..1ed331f 100644 --- a/ParseUI-Login/build.gradle +++ b/ParseUI-Login/build.gradle @@ -24,6 +24,7 @@ import com.android.builder.core.BuilderConstants apply plugin: 'android-library' version = "0.0.1" +group = 'com.parse' dependencies { compile 'com.android.support:support-v4:23.0.1' diff --git a/ParseUI-Widget/build.gradle b/ParseUI-Widget/build.gradle index dfc48e2..5142939 100644 --- a/ParseUI-Widget/build.gradle +++ b/ParseUI-Widget/build.gradle @@ -23,6 +23,7 @@ import com.android.builder.core.BuilderConstants apply plugin: 'com.android.library' version = "0.0.1" +group = 'com.parse' dependencies { compile 'com.parse:parse-android:1.10.3' From 195fd4997b1a695b91b25fd3f10b67a1a62e18b9 Mon Sep 17 00:00:00 2001 From: wangmengyan95 Date: Wed, 11 Nov 2015 11:25:19 -0800 Subject: [PATCH 03/11] Update README --- README.md | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 42310dc..0b8ed7e 100644 --- a/README.md +++ b/README.md @@ -8,17 +8,13 @@ The `ParseUI-Widget` library provides several useful UI widgets which integrate ## Import to your project -1. Clone this repository onto your machine. -2. Configure Parse SDK by following this [tutorial](https://www.parse.com/apps/quickstart#parse_data/mobile/android/native/existing). -3. Import `ParseUI-Login` and `ParseUI-Widget` as modules into your app's Android Studio Project - * File > Import Module in Android Studio - * In the New Module pop-up, set the source directory to the `ParseUI-Android/ParseUI-Login` and `ParseUI-Android/ParseUI-Widget` folder within the cloned repo. -4. Add the following to the `dependencies` section of your app's build.gradle. +1. Configure Parse SDK by following this [tutorial](https://www.parse.com/apps/quickstart#parse_data/mobile/android/native/existing). +2. Add the following to the `dependencies` section of your app's build.gradle. ```grovvy // Module dependency on ParseUI libraries sources - compile project(':ParseUI-Login') - compile project(':ParseUI-Widget') + compile 'com.parse:parseui-login-android:0.0.1' + compile 'com.parse:parseui-widget-android:0.0.1' // Uncomment if using Facebook Login (optional Maven dependency) // compile 'com.facebook.android:facebook-android-sdk:4.6.0' From 640c8037ab70fb06d47f4047230f7c3487bca03c Mon Sep 17 00:00:00 2001 From: wangmengyan95 Date: Wed, 18 Nov 2015 13:55:53 -0800 Subject: [PATCH 04/11] Disable landscape for LoginActivity --- .../src/main/java/com/parse/ui/ParseLoginActivity.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ParseUI-Login/src/main/java/com/parse/ui/ParseLoginActivity.java b/ParseUI-Login/src/main/java/com/parse/ui/ParseLoginActivity.java index 353b65b..e3145f0 100644 --- a/ParseUI-Login/src/main/java/com/parse/ui/ParseLoginActivity.java +++ b/ParseUI-Login/src/main/java/com/parse/ui/ParseLoginActivity.java @@ -89,6 +89,9 @@ public class ParseLoginActivity extends FragmentActivity implements public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + // Disable landscape + this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); + this.requestWindowFeature(Window.FEATURE_NO_TITLE); // Combine options from incoming intent and the activity metadata From e7a58e4ff264fb9928382807a8265a533538f6aa Mon Sep 17 00:00:00 2001 From: wangmengyan95 Date: Wed, 18 Nov 2015 15:45:46 -0800 Subject: [PATCH 05/11] Allow disable name field in signup form --- .../java/com/parse/ui/ParseLoginBuilder.java | 12 +++++++++++ .../java/com/parse/ui/ParseLoginConfig.java | 20 +++++++++++++++++++ .../com/parse/ui/ParseSignupFragment.java | 11 ++++++---- 3 files changed, 39 insertions(+), 4 deletions(-) diff --git a/ParseUI-Login/src/main/java/com/parse/ui/ParseLoginBuilder.java b/ParseUI-Login/src/main/java/com/parse/ui/ParseLoginBuilder.java index d6a5014..396955e 100644 --- a/ParseUI-Login/src/main/java/com/parse/ui/ParseLoginBuilder.java +++ b/ParseUI-Login/src/main/java/com/parse/ui/ParseLoginBuilder.java @@ -210,6 +210,18 @@ public ParseLoginBuilder setParseSignupSubmitButtonText(int id) { return setParseSignupSubmitButtonText(maybeGetString(id)); } + /** + * Whether to show the name field in the signup form. Default is true. + * + * @param enabled + * Whether to show the name field in the signup form. + * @return The caller instance to allow chaining. + */ + public ParseLoginBuilder setParseSignupNameFieldEnabled(boolean enabled) { + config.setParseSignupNameFieldEnabled(enabled); + return this; + } + /** * Whether to show the Facebook login option on the login screen. Default is * false. diff --git a/ParseUI-Login/src/main/java/com/parse/ui/ParseLoginConfig.java b/ParseUI-Login/src/main/java/com/parse/ui/ParseLoginConfig.java index bde9aae..def884a 100644 --- a/ParseUI-Login/src/main/java/com/parse/ui/ParseLoginConfig.java +++ b/ParseUI-Login/src/main/java/com/parse/ui/ParseLoginConfig.java @@ -47,6 +47,7 @@ public class ParseLoginConfig { public static final String PARSE_LOGIN_EMAIL_AS_USERNAME = "com.parse.ui.ParseLoginActivity.PARSE_LOGIN_EMAIL_AS_USERNAME"; public static final String PARSE_SIGNUP_MIN_PASSWORD_LENGTH = "com.parse.ui.ParseLoginActivity.PARSE_SIGNUP_MIN_PASSWORD_LENGTH"; public static final String PARSE_SIGNUP_SUBMIT_BUTTON_TEXT = "com.parse.ui.ParseLoginActivity.PARSE_SIGNUP_SUBMIT_BUTTON_TEXT"; + public static final String PARSE_SIGNUP_NAME_FIELD_ENABLED = "com.parse.ui.ParseLoginActivity.PARSE_SIGNUP_NAME_FIELD_ENABLED"; public static final String FACEBOOK_LOGIN_ENABLED = "com.parse.ui.ParseLoginActivity.FACEBOOK_LOGIN_ENABLED"; public static final String FACEBOOK_LOGIN_BUTTON_TEXT = "com.parse.ui.ParseLoginActivity.FACEBOOK_LOGIN_BUTTON_TEXT"; public static final String FACEBOOK_LOGIN_PERMISSIONS = "com.parse.ui.ParseLoginActivity.FACEBOOK_LOGIN_PERMISSIONS"; @@ -70,6 +71,7 @@ public class ParseLoginConfig { private Boolean parseLoginEmailAsUsername; private Integer parseSignupMinPasswordLength; private CharSequence parseSignupSubmitButtonText; + private Boolean parseSignupNameFieldEnabled; private Boolean facebookLoginEnabled; private CharSequence facebookLoginButtonText; @@ -160,6 +162,18 @@ public void setParseSignupSubmitButtonText( this.parseSignupSubmitButtonText = parseSignupSubmitButtonText; } + public Boolean isParseSignupNameFieldEnabled() { + if (parseSignupNameFieldEnabled != null) { + return parseSignupNameFieldEnabled; + } else { + return true; + } + } + + public void setParseSignupNameFieldEnabled(Boolean parseSignupNameFieldEnabled) { + this.parseSignupNameFieldEnabled = parseSignupNameFieldEnabled; + } + public boolean isFacebookLoginEnabled() { if (facebookLoginEnabled != null) { return facebookLoginEnabled; @@ -267,6 +281,9 @@ public Bundle toBundle() { bundle.putCharSequence(PARSE_SIGNUP_SUBMIT_BUTTON_TEXT, parseSignupSubmitButtonText); } + if (parseSignupNameFieldEnabled != null) { + bundle.putBoolean(PARSE_SIGNUP_NAME_FIELD_ENABLED, parseSignupNameFieldEnabled); + } if (facebookLoginEnabled != null) { bundle.putBoolean(FACEBOOK_LOGIN_ENABLED, facebookLoginEnabled); @@ -336,6 +353,9 @@ public static ParseLoginConfig fromBundle(Bundle bundle, Context context) { if (keys.contains(PARSE_SIGNUP_SUBMIT_BUTTON_TEXT)) { config.setParseSignupSubmitButtonText(bundle.getCharSequence(PARSE_SIGNUP_SUBMIT_BUTTON_TEXT)); } + if (keys.contains(PARSE_SIGNUP_NAME_FIELD_ENABLED)) { + config.setParseSignupNameFieldEnabled(bundle.getBoolean(PARSE_SIGNUP_NAME_FIELD_ENABLED)); + } if (keys.contains(FACEBOOK_LOGIN_ENABLED)) { config.setFacebookLoginEnabled(bundle.getBoolean(FACEBOOK_LOGIN_ENABLED)); diff --git a/ParseUI-Login/src/main/java/com/parse/ui/ParseSignupFragment.java b/ParseUI-Login/src/main/java/com/parse/ui/ParseSignupFragment.java index 27f9dca..f141c98 100644 --- a/ParseUI-Login/src/main/java/com/parse/ui/ParseSignupFragment.java +++ b/ParseUI-Login/src/main/java/com/parse/ui/ParseSignupFragment.java @@ -79,8 +79,8 @@ public View onCreateView(LayoutInflater inflater, ViewGroup parent, minPasswordLength = config.getParseSignupMinPasswordLength(); } - String username = (String) args.getString(USERNAME); - String password = (String) args.getString(PASSWORD); + String username = args.getString(USERNAME); + String password = args.getString(PASSWORD); View v = inflater.inflate(R.layout.com_parse_ui_parse_signup_fragment, parent, false); @@ -91,6 +91,9 @@ public View onCreateView(LayoutInflater inflater, ViewGroup parent, .findViewById(R.id.signup_confirm_password_input); emailField = (EditText) v.findViewById(R.id.signup_email_input); nameField = (EditText) v.findViewById(R.id.signup_name_input); + if (!config.isParseSignupNameFieldEnabled()) { + nameField.setVisibility(View.INVISIBLE); + } createAccountButton = (Button) v.findViewById(R.id.create_account); usernameField.setText(username); @@ -172,7 +175,7 @@ public void onClick(View v) { confirmPasswordField.requestFocus(); } else if (email != null && email.length() == 0) { showToast(R.string.com_parse_ui_no_email_toast); - } else if (name != null && name.length() == 0) { + } else if (name != null && name.length() == 0 && config.isParseSignupNameFieldEnabled()) { showToast(R.string.com_parse_ui_no_name_toast); } else { ParseUser user = new ParseUser(); @@ -183,7 +186,7 @@ public void onClick(View v) { user.setEmail(email); // Set additional custom fields only if the user filled it out - if (name.length() != 0) { + if (name.length() != 0 && config.isParseSignupNameFieldEnabled()) { user.put(USER_OBJECT_NAME_FIELD, name); } From ddf72b9a5a6ffda818f9793fd11f17e3a699e3c2 Mon Sep 17 00:00:00 2001 From: wangmengyan95 Date: Thu, 19 Nov 2015 15:39:00 -0800 Subject: [PATCH 06/11] Allow pass extras to target activity --- .../main/java/com/parse/ui/ParseLoginDispatchActivity.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ParseUI-Login/src/main/java/com/parse/ui/ParseLoginDispatchActivity.java b/ParseUI-Login/src/main/java/com/parse/ui/ParseLoginDispatchActivity.java index 7d16308..13974f6 100644 --- a/ParseUI-Login/src/main/java/com/parse/ui/ParseLoginDispatchActivity.java +++ b/ParseUI-Login/src/main/java/com/parse/ui/ParseLoginDispatchActivity.java @@ -88,7 +88,12 @@ protected Intent getParseLoginIntent() { private void runDispatch() { if (ParseUser.getCurrentUser() != null) { debugLog(getString(R.string.com_parse_ui_login_dispatch_user_logged_in) + getTargetClass()); - startActivityForResult(new Intent(this, getTargetClass()), TARGET_REQUEST); + Intent targetIntent = new Intent(this, getTargetClass()); + Bundle extras = getIntent().getExtras(); + if (extras != null) { + targetIntent.putExtras(extras); + } + startActivityForResult(targetIntent, TARGET_REQUEST); } else { debugLog(getString(R.string.com_parse_ui_login_dispatch_user_not_logged_in)); startActivityForResult(getParseLoginIntent(), LOGIN_REQUEST); From c2d2e652bd5a2a84414fb34c8312ac4c74afdad3 Mon Sep 17 00:00:00 2001 From: Mengyan Wang Date: Fri, 20 Nov 2015 15:57:13 -0800 Subject: [PATCH 07/11] Update README.md to include ParseTwitterUtils --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 0b8ed7e..eca031d 100644 --- a/README.md +++ b/README.md @@ -16,9 +16,10 @@ The `ParseUI-Widget` library provides several useful UI widgets which integrate compile 'com.parse:parseui-login-android:0.0.1' compile 'com.parse:parseui-widget-android:0.0.1' - // Uncomment if using Facebook Login (optional Maven dependency) + // Uncomment if using Facebook or Twitter Login (optional Maven dependency) // compile 'com.facebook.android:facebook-android-sdk:4.6.0' // compile 'com.parse:parsefacebookutils-v4-android:1.10.3@aar' + // compile 'com.parse:parsetwitterutils-android:1.10.3' ``` ## Usage @@ -47,4 +48,4 @@ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. From 4110b81b7536f049df1cf5a0eff8a6541623f38e Mon Sep 17 00:00:00 2001 From: wangmengyan95 Date: Tue, 8 Dec 2015 11:53:32 -0800 Subject: [PATCH 08/11] Add support for Korean language --- .../src/main/res/values-ko/strings.xml | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 ParseUI-Login/src/main/res/values-ko/strings.xml diff --git a/ParseUI-Login/src/main/res/values-ko/strings.xml b/ParseUI-Login/src/main/res/values-ko/strings.xml new file mode 100644 index 0000000..890beda --- /dev/null +++ b/ParseUI-Login/src/main/res/values-ko/strings.xml @@ -0,0 +1,42 @@ + + + 불러오는중... + 아이디 + 암호 + 암호를 잃어버렸나요? + 로그인 + 새로 등록 + Facebook으로 로그인 + Twitter로 로그인 + 이메일 + 암호 확인 + 아이디 + 아이디 생성 + 아이디를 입력해 주세요 + 암호를 입력해 주세요 + 입력한 아이디 또는 암호가 맞지 않습니다 + 로그인 실패, 잠시 후 다시 시도해 보세요 + Facebook 로그인 실패 + Twitter 로그인 실패 + + + 암호는 %d 자 이상 입력해 주세요 + 암호는 %d 자 이상 입력해 주세요 + + + 이미 존재하는 아이디입니다. 다른 아이디를 입력해 주세요 + 암호 확인 창에 암호를 한번 더 입력해 주세요 + 암호가 맞지 않습니다. 다시 시도해 보세요 + 이메일을 입력해 주세요 + 잘못된 이메일입니다. 수정후 다시 시도해 보세요 + 이미 사용중인 이메일 입니다. 암호를 재설정 해 보세요 + 아이디를 입력해 주세요 + 등록에 실패했습니다. 잠시 후 다시 시도해 보세요 + 암호를 재설정 하려면 귀하의 이메일 주소를 입력해 주세요 + 이메일 + 제출 + 로그인 화면으로 복귀 + 암호 재설정 요청 실패, 다시 시도해 보세요 + 귀하의 아이디를 되찾을 방법이 적힌 이메일이 발송되었습니다. 메일을 확인해 보세요 + + From 5acdcedb5186f2e301c66cc4c4aac05da53350f8 Mon Sep 17 00:00:00 2001 From: wangmengyan95 Date: Wed, 9 Dec 2015 13:37:04 -0800 Subject: [PATCH 09/11] Replace deprecated onAttach method --- .../src/main/java/com/parse/ui/ParseLoginFragment.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ParseUI-Login/src/main/java/com/parse/ui/ParseLoginFragment.java b/ParseUI-Login/src/main/java/com/parse/ui/ParseLoginFragment.java index d43a282..b75782c 100644 --- a/ParseUI-Login/src/main/java/com/parse/ui/ParseLoginFragment.java +++ b/ParseUI-Login/src/main/java/com/parse/ui/ParseLoginFragment.java @@ -22,6 +22,7 @@ package com.parse.ui; import android.app.Activity; +import android.content.Context; import android.os.Bundle; import android.text.InputType; import android.view.LayoutInflater; @@ -119,9 +120,10 @@ public View onCreateView(LayoutInflater inflater, ViewGroup parent, } @Override - public void onAttach(Activity activity) { - super.onAttach(activity); + public void onAttach(Context context) { + super.onAttach(context); + final Activity activity = getActivity(); if (activity instanceof ParseLoginFragmentListener) { loginFragmentListener = (ParseLoginFragmentListener) activity; } else { From 2a7adf2ce9039cc1ca822dfcac987cfa6741795c Mon Sep 17 00:00:00 2001 From: wangmengyan95 Date: Wed, 9 Dec 2015 14:18:53 -0800 Subject: [PATCH 10/11] Add support for Chinese --- .../src/main/res/values-zh/strings.xml | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 ParseUI-Login/src/main/res/values-zh/strings.xml diff --git a/ParseUI-Login/src/main/res/values-zh/strings.xml b/ParseUI-Login/src/main/res/values-zh/strings.xml new file mode 100644 index 0000000..7e6fce1 --- /dev/null +++ b/ParseUI-Login/src/main/res/values-zh/strings.xml @@ -0,0 +1,42 @@ + + + 载入中... + 用户名 + 密码 + 忘记密码 + 登陆 + 注册 + 使用Facebook登陆 + 使用Twitter登陆 + 邮箱 + 确认密码 + 姓名 + 注册 + 请输入用户名 + 请输入密码 + 用户名密码不匹配 + 登陆失败,请重试 + Facebook登陆失败 + Twitter登陆失败 + + + 密码至少%d个字符 + 密码至少%d个字符 + + + 用户名已经存在,请换一个重试 + 请重新输入密码 + 密码不匹配,请重试 + 请输入邮箱 + 邮箱无效,请更正并重试 + 邮箱已经存在,请换一个重试 + 请输入姓名 + 注册失败,请稍后重试 + 输入邮箱找回密码 + 邮箱 + 提交 + 返回登陆 + 重置密码失败,请重试 + 重置密码邮件已发送,请检查邮箱 + + From 61cb9b59c6d630cad1fd28e3c8764caa1ed45e74 Mon Sep 17 00:00:00 2001 From: wangmengyan95 Date: Thu, 10 Dec 2015 11:04:48 -0800 Subject: [PATCH 11/11] Add support for Portuguese --- .../src/main/res/values-pt/strings.xml | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 ParseUI-Login/src/main/res/values-pt/strings.xml diff --git a/ParseUI-Login/src/main/res/values-pt/strings.xml b/ParseUI-Login/src/main/res/values-pt/strings.xml new file mode 100644 index 0000000..72ebcac --- /dev/null +++ b/ParseUI-Login/src/main/res/values-pt/strings.xml @@ -0,0 +1,62 @@ + + + Logomarca + Carregando… + Usuário + Senha + Esqueci a senha + Entrar + Cadastrar + Entrar com Facebook + Entrar com Twitter + E-mail + Confirmar senha + Nome + Criar conta + Informe seu usuário + Informe sua senha + Usuário e senha não conferem + Não foi possível entrar, tente novamente mais tarde + Entrar com Facebook falhou + Entrar com Twitter falhou + + + Senha deve conter pelo menos %d caracter + Senha deve conter pelo menos %d caracteres + + + Usuário já cadastrado, escolha outro + Informe a senha novamente + Senha não confere, tente novamente + Informe seu e-mail + E-mail inválido, corrija e tente novamente + E-mail já foi cadastrado, por favor redefina a sua senha + Informe seu nome + Não foi possível cadastrar, tente novamente mais tarde + Informe seu e-mail para recuperar sua senha + E-mail + Enviar + Voltar para o Login + Erro ao solicitar recadastramento da senha, tente novamente + Verifique seu e-mail para obter informações sobre como acessar sua conta + + Campo usuário faltando no layout + Campo senha faltando no layout + Botão entrar faltando no layout + Botão cadastrar faltando no layout + Botão ajuda faltando no layout + Entrar e cadastrar com usuário e senha desabilitados devido a falta de elementos no layout + Botão de login pelo Facebook faltando no layout, desabilite login pelo Facebook + Botão de login pelo Twitter faltando no layout, desabilite login pelo Twitter + "Entrar com usuário e senha falhou, exception: " + "Login pelo Facebook falhou, exception: " + "Login pelo Twitter falhou, exception: " + "Atualizar objeto usuário falhou após o login pelo Facebook, exception: " + "Atualizar objeto usuário falhou após o login pelo Twitter, exception: " + "Cadastrar falhou, exception: " + "Redefinir senha falhou, exception: " + + "Usuário conectado, iniciando: " + Usuário não conectado, iniciando ParseLoginActivity + +