Android Open Source - openmidaas-android-app Authorization List Adapter






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  www.j  a  v  a2  s  .  co  m*/
 * 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 java.util.ArrayList;
import java.util.List;

import org.openmidaas.app.R;
import org.openmidaas.app.activities.ui.spinner.AttributeSpinnerAdapter;
import org.openmidaas.app.common.CategoryMap;
import org.openmidaas.app.common.Logger;
import org.openmidaas.app.session.attributeset.AbstractAttributeSet;

import android.app.Activity;
import android.content.Context;
import android.graphics.Typeface;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.TextView;

public class AuthorizationListAdapter extends BaseAdapter {
  
  private Activity mActivity;
  
  private List<AbstractAttributeSet> mAttributeSet;
  
  public AuthorizationListAdapter(Activity activity) {
    mActivity = activity;
    mAttributeSet = new ArrayList<AbstractAttributeSet>();
  }
  
  public synchronized void setList(List<AbstractAttributeSet> attributeSet) {
    mAttributeSet = attributeSet;
  }
  
  @Override
  public int getCount() {
    return mAttributeSet.size();
  }

  @Override
  public Object getItem(int position) {
    return mAttributeSet.get(position);
  }

  @Override
  public long getItemId(int arg0) {
    return arg0;
  }

  @Override
  public View getView(final int position, View convertView, ViewGroup viewGroup) {
    ViewHolder viewHolder = null;
    if(convertView == null) {
      LayoutInflater infalInflater = (LayoutInflater) mActivity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
       convertView = infalInflater.inflate(R.layout.authorization_view_row, null);
       viewHolder = new ViewHolder();
       viewHolder.tvAttributeLabel = (TextView)convertView.findViewById(R.id.tvAttributeLabel);
       viewHolder.attributeSelector = (Spinner)convertView.findViewById(R.id.attributeSelector);
       viewHolder.btnAddAttribute = (Button)convertView.findViewById(R.id.btnAddAttribute);
       convertView.setTag(viewHolder);
    } else {
      viewHolder = (ViewHolder)convertView.getTag();
    }
    
    viewHolder.tvAttributeLabel.setText("");
    String attributeUserFriendlyName = null;
    final AbstractAttributeSet attributeSet = mAttributeSet.get(position);
    if(attributeSet.getLabel() == null || (attributeSet.getLabel().isEmpty())) {
      if(CategoryMap.get(attributeSet.getType()) == null) {
        attributeUserFriendlyName = attributeSet.getKey();
      } else {
        attributeUserFriendlyName = CategoryMap.get(attributeSet.getType()).getAttributeLabel();
      }
    } else {
      attributeUserFriendlyName = attributeSet.getLabel();
    }
    viewHolder.tvAttributeLabel.setText(attributeUserFriendlyName);
    viewHolder.tvAttributeLabel.setTypeface(null, Typeface.NORMAL);
    if(attributeSet.isEssentialRequested()) {
      viewHolder.tvAttributeLabel.setTypeface(null, Typeface.BOLD);
    }
    final AttributeSpinnerAdapter mSpinnerAdapter = new AttributeSpinnerAdapter(mActivity, R.layout.authorization_spinner_label, attributeSet.getAttributeList());
    mSpinnerAdapter.setDropDownViewResource(R.layout.attribute_spinner_custom_textview);
    
    viewHolder.attributeSelector.setAdapter(mSpinnerAdapter);
    viewHolder.attributeSelector.setPrompt("Select " + attributeUserFriendlyName);
    viewHolder.attributeSelector.setOnItemSelectedListener(new OnItemSelectedListener() {

      @Override
      public void onItemSelected(AdapterView<?> adapterView, View view,
          int selectedPositionInSpinner, long id) {
        attributeSet.setSelectedAttribute(null);
        mSpinnerAdapter.setSelectedIndex(selectedPositionInSpinner);
        if(selectedPositionInSpinner != 0) {
          Logger.debug(getClass(), "Setting selected value for " +attributeSet.getType()+" to " + attributeSet.getAttributeList().get(selectedPositionInSpinner).toString());
          attributeSet.setSelectedAttribute(attributeSet.getAttributeList().get(selectedPositionInSpinner));
        }
      }

      @Override
      public void onNothingSelected(AdapterView<?> arg0) {}
      
    });
    
    viewHolder.btnAddAttribute.setOnClickListener(new View.OnClickListener() {
      
      @Override
      public void onClick(View v) {
        attributeSet.onModify(mActivity);
      }
    });
    
    return convertView;
  }
  
  private static class ViewHolder {
    TextView tvAttributeLabel;
    Spinner attributeSelector;
    Button btnAddAttribute;
  }
}




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