Android Open Source - openmidaas-android-app Personal List Category






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  w  ww .j  av  a 2 s  .  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.ui.list;

import org.openmidaas.app.R;
import org.openmidaas.app.common.CategoryMap;
import org.openmidaas.app.common.Constants;
import org.openmidaas.app.common.DialogUtils;
import org.openmidaas.app.common.Utils;
import org.openmidaas.library.model.GenericAttribute;
import org.openmidaas.library.model.core.AbstractAttribute;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;

/**
 * 
 * Personal category
 *
 */
public class PersonalListCategory extends AbstractListCategory {
  
  private String[] genders = null;
  
  private Activity mActivity;
  
  private AlertDialog mGenderDialog = null;
  
  public PersonalListCategory() {
    mGroupName = Constants.ATTRIBUTE_CATEGORY_PERSONAL;
  }

  @Override
  public void onAddButtonTouch(Activity activity) {
    showPersonalInfoChoicesDialog(activity);
  }

  @Override
  public void addAttribute(AbstractAttribute<?> attribute) {
    CategoryMap map = CategoryMap.get(attribute.getName());
    if(map != null) {
      addToPosition(attribute, map.ordinal());
    } else {
      mList.add(new GenericAttributeListElement((GenericAttribute) attribute));
    }
  }
  
  private void addToPosition(AbstractAttribute<?> attribute, int position) {
    if(attribute.getName().equals(Constants.AttributeNames.BIRTHDAY)) {
      mList.add(new BirthdayListElement((GenericAttribute) attribute));
    } else if (attribute.getName().equals(Constants.AttributeNames.GENDER)) {
      mList.add(new GenderListElement((GenericAttribute) attribute));
    } else {
      GenericAttribute genericAttribute = (GenericAttribute) mList.get(position).getAttribute();
      if(genericAttribute.getValue() != null && !(genericAttribute.getValue().isEmpty())) {
        mList.add(new GenericAttributeListElement((GenericAttribute) attribute));
      } else {
        mList.get(position).setAttribute(attribute);
      }
    }
  }
  
  private void showPersonalInfoChoicesDialog(final Activity activity) {
    mActivity = activity;
    final String[] personalInfoNames = activity.getResources().getStringArray(R.array.additionalPersonalInfoArray);
    genders = activity.getResources().getStringArray(R.array.genders);
    AlertDialog.Builder builder = new AlertDialog.Builder(activity);
      builder.setTitle(activity.getString(R.string.addMorePersonalInfo));
      builder.setSingleChoiceItems(personalInfoNames, -1, new DialogInterface.OnClickListener() {
    
    @Override
    public void onClick(DialogInterface dialog, int which) {
      if(personalInfoNames[which].equals("Birthday")) {
        DialogUtils.showBirthdayDatePickerDialog(activity, null);
      } else  if (personalInfoNames[which].equals("Gender")) {
        DialogUtils.showRadioButtonDialog(activity, activity.getString(R.string.genderDialogTitle), genders, genderDialogListener);
      }
    }
      });
      mGenderDialog = builder.create();
      mGenderDialog.show();
  }
  
  private DialogInterface.OnClickListener genderDialogListener = new DialogInterface.OnClickListener() {

    @Override
    public void onClick(DialogInterface dialogInterface, int which) {
      String gender = genders[which];
      Utils.createGenericAttribute(mActivity, Constants.AttributeNames.GENDER, gender, null);
      dialogInterface.dismiss();
    }
  };
}




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