Android Open Source - openmidaas-android-app Email Registration Activity






From Project

Back to project page openmidaas-android-app.

License

The source code is released under:

Apache License

If you think the Android project openmidaas-android-app listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*******************************************************************************
 * Copyright 2013 SecureKey Technologies Inc.
 * //from   ww  w .  j a v  a2s. c  om
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *   
 * http://www.apache.org/licenses/LICENSE-2.0
 *  
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 ******************************************************************************/
package org.openmidaas.app.activities;

import org.openmidaas.app.R;
import org.openmidaas.app.common.Logger;
import org.openmidaas.app.common.DialogUtils;
import org.openmidaas.library.model.EmailAttribute;
import org.openmidaas.library.model.EmailAttributeFactory;
import org.openmidaas.library.model.InvalidAttributeValueException;
import org.openmidaas.library.model.core.CompleteVerificationCallback;
import org.openmidaas.library.model.core.InitializeVerificationCallback;
import org.openmidaas.library.model.core.MIDaaSException;
import android.app.Activity;
import android.os.Bundle;
import android.text.InputType;
import android.view.WindowManager;
import android.widget.EditText;


public class EmailRegistrationActivity extends AbstractAttributeRegistrationActivity {

  private Activity mActivity;
  
  private EmailAttribute emailAttribute;
  
  private EditText mAttributeValue;
  
  private boolean isInitVerificationSuccess = false;
  
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    mActivity = this;
    mAttributeValue = (EditText)findViewById(R.id.etAttributeValue); 
    mAttributeValue.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS);
    mAttributeValue.requestFocus();
    getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
    
  }

  @Override
  protected void startAttributeVerification() {
    Logger.info(getClass(), "starting email verification");
      try {
        if(!isInitVerificationSuccess) {
          emailAttribute = EmailAttributeFactory.createAttribute();
          emailAttribute.setValue(mAttributeValue.getText().toString());
          emailAttribute.save();
        }
        emailAttribute.startVerification(new InitializeVerificationCallback() {

          @Override
          public void onSuccess() {
            Logger.info(getClass(), "email verification started successfully");
            DialogUtils.showToast(mActivity, "An email has been sent to: "+mAttributeValue.getText().toString());
            isInitVerificationSuccess = true;
            try {
              emailAttribute.save();
              
            } catch (MIDaaSException e) {
              DialogUtils.showNeutralButtonDialog(mActivity, "Error", e.getError().getErrorMessage());
            } catch (InvalidAttributeValueException ex) {
              DialogUtils.showNeutralButtonDialog(mActivity, "Error", ex.getMessage());
            }
            
            mActivity.runOnUiThread(new Runnable() {

              @Override
              public void run() {
                if (mProgressDialog.isShowing()) {
                  mProgressDialog.dismiss();
                }
                mBtnCompleteAttributeVerification.setEnabled(true);
                mBtnStartAttributeVerification.setText("Re-send email");
                mAttributeVerificationCode.requestFocus();
                getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
                mAttributeVerificationCode.setInputType(InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS);
              }
              
            });
          }

          @Override
          public void onError(MIDaaSException exception) {
            cancelCurrentProgressDialog();
            Logger.info(getClass(), "error in start email verification");
            Logger.info(getClass(), exception.getError().getErrorMessage());
            DialogUtils.showNeutralButtonDialog(mActivity, "Error", exception.getError().getErrorMessage());
          }
        
        });
      } catch (final InvalidAttributeValueException e) {
        cancelCurrentProgressDialog();
        DialogUtils.showNeutralButtonDialog(mActivity, "Error" ,"The email you entered is invalid");
      } catch (MIDaaSException e) {
        cancelCurrentProgressDialog();
        DialogUtils.showNeutralButtonDialog(mActivity, "Error" ,"The email you entered is invalid or already exists");
      } 
      
  }


  
  
  
  @Override
  protected void completeAttributeVerification() {
    if((!(mAttributeVerificationCode.getText().toString().isEmpty())) || (mAttributeVerificationCode.getText().toString() != null))
    emailAttribute.completeVerification(mAttributeVerificationCode.getText().toString(), new CompleteVerificationCallback() {

      @Override
      public void onSuccess() {
        DialogUtils.showToast(mActivity, emailAttribute.getName()+" "+getString(R.string.verification_success_tag));
        try {
          emailAttribute.save();
        } catch (MIDaaSException exception) {
          DialogUtils.showNeutralButtonDialog(mActivity, "Error", exception.getError().getErrorMessage());
        } catch (InvalidAttributeValueException exception) {
          DialogUtils.showNeutralButtonDialog(mActivity, "Error", exception.getMessage());
        }
        EmailRegistrationActivity.this.finish();
      }

      @Override
      public void onError(MIDaaSException exception) {
        cancelCurrentProgressDialog();
        DialogUtils.showNeutralButtonDialog(mActivity, "Error", exception.getError().getErrorMessage());
      }
    });
  }
  
  @Override
  protected String getProgressDialogMessage() {
    return (getString(R.string.sendingEmailText));
  }

  @Override
  protected boolean isAttributeValid() {
    if(mAttributeValue.getText().toString().isEmpty() || mAttributeValue.getText().toString() == null) {
      return false;
    }
    return true;
  }

  @Override
  protected String getTitlebarText() {
    return ("Add an email");
  }

  @Override
  protected int getLayoutResourceId() {
    return (R.layout.attribute_registration_view);
  }
}




Java Source Code List

org.openmidaas.app.App.java
org.openmidaas.app.Settings.java
org.openmidaas.app.activities.AboutUsActivity.java
org.openmidaas.app.activities.AbstractActivity.java
org.openmidaas.app.activities.AbstractAttributeRegistrationActivity.java
org.openmidaas.app.activities.AddressActivity.java
org.openmidaas.app.activities.AttributeListFragment.java
org.openmidaas.app.activities.AuthorizationActivity.java
org.openmidaas.app.activities.CreditCardActivity.java
org.openmidaas.app.activities.EmailRegistrationActivity.java
org.openmidaas.app.activities.EnterURLDialogFragment.java
org.openmidaas.app.activities.MainTabActivity.java
org.openmidaas.app.activities.ManageConsentActivity.java
org.openmidaas.app.activities.PhoneRegistrationActivity.java
org.openmidaas.app.activities.ProfileFragment.java
org.openmidaas.app.activities.PushNotificationActivity.java
org.openmidaas.app.activities.ScanFragment.java
org.openmidaas.app.activities.SplashActivity.java
org.openmidaas.app.activities.ui.ConsentedDetailsDialogListAdapter.java
org.openmidaas.app.activities.ui.ConsentedDetailsDialog.java
org.openmidaas.app.activities.ui.list.AbstractAttributeListElement.java
org.openmidaas.app.activities.ui.list.AbstractListCategory.java
org.openmidaas.app.activities.ui.list.AddressCategory.java
org.openmidaas.app.activities.ui.list.AddressListElement.java
org.openmidaas.app.activities.ui.list.AttributeExpandableListAdapter.java
org.openmidaas.app.activities.ui.list.AuthorizationListAdapter.java
org.openmidaas.app.activities.ui.list.BirthdayListElement.java
org.openmidaas.app.activities.ui.list.ConsentListAdapter.java
org.openmidaas.app.activities.ui.list.CreditCardCategory.java
org.openmidaas.app.activities.ui.list.CreditCardListElement.java
org.openmidaas.app.activities.ui.list.EmailAttributeListElement.java
org.openmidaas.app.activities.ui.list.EmailCategory.java
org.openmidaas.app.activities.ui.list.GenderListElement.java
org.openmidaas.app.activities.ui.list.GeneralCategory.java
org.openmidaas.app.activities.ui.list.GenericAttributeListElement.java
org.openmidaas.app.activities.ui.list.OnListElementLongTouch.java
org.openmidaas.app.activities.ui.list.OnListElementTouch.java
org.openmidaas.app.activities.ui.list.PersonalListCategory.java
org.openmidaas.app.activities.ui.list.PhoneAttributeListElement.java
org.openmidaas.app.activities.ui.list.PhoneCategory.java
org.openmidaas.app.activities.ui.spinner.AttributeSpinnerAdapter.java
org.openmidaas.app.common.AttributeRegistrationHelper.java
org.openmidaas.app.common.CategoryManager.java
org.openmidaas.app.common.CategoryMap.java
org.openmidaas.app.common.Constants.java
org.openmidaas.app.common.DialogUtils.java
org.openmidaas.app.common.Intents.java
org.openmidaas.app.common.Logger.java
org.openmidaas.app.common.Utils.java
org.openmidaas.app.services.GCMIntentService.java
org.openmidaas.app.services.GCMReceiver.java
org.openmidaas.app.session.AttributeFetchException.java
org.openmidaas.app.session.AttributeRequestObjectException.java
org.openmidaas.app.session.ConsentManager.java
org.openmidaas.app.session.EssentialAttributeMissingException.java
org.openmidaas.app.session.PostbackReturnStrategy.java
org.openmidaas.app.session.ReturnStrategyFactory.java
org.openmidaas.app.session.ReturnStrategy.java
org.openmidaas.app.session.SessionCreationException.java
org.openmidaas.app.session.SessionManager.java
org.openmidaas.app.session.Session.java
org.openmidaas.app.session.attributeset.AbstractAttributeSet.java
org.openmidaas.app.session.attributeset.AddressAttributeSet.java
org.openmidaas.app.session.attributeset.AttributeSetFactory.java
org.openmidaas.app.session.attributeset.CreditCardAttributeSet.java
org.openmidaas.app.session.attributeset.EmailAttributeSet.java
org.openmidaas.app.session.attributeset.GenericAttributeSet.java
org.openmidaas.app.session.attributeset.PhoneAttributeSet.java