/** * galaxy inc. * meetup client for android */ package com.galaxy.meetup.client.android.oob; import android.content.Context; import android.util.AttributeSet; import android.view.View; import android.widget.LinearLayout; import android.widget.TextView; import com.galaxy.meetup.client.android.R; import com.galaxy.meetup.server.client.domain.MobileCoarseDate; import com.galaxy.meetup.server.client.domain.OutOfBoxField; import com.galaxy.meetup.server.client.domain.OutOfBoxFieldValue; import com.galaxy.meetup.server.client.domain.OutOfBoxInputField; /** * * @author sihai * */ public abstract class BaseFieldLayout extends LinearLayout { protected ActionCallback mActionCallback; protected OutOfBoxField mField; private int mInputId; private int mLabelId; public BaseFieldLayout(Context context) { super(context); } public BaseFieldLayout(Context context, AttributeSet attributeset) { super(context, attributeset); } public BaseFieldLayout(Context context, AttributeSet attributeset, int i) { super(context, attributeset, i); } public void bindToField(OutOfBoxField outofboxfield, int i, ActionCallback actioncallback) { View view = findViewById(R.id.label); if(view != null) { mLabelId = i; view.setId(mLabelId); i++; } View view1 = findViewById(R.id.input); if(view1 != null) { mInputId = i; view1.setId(mInputId); } mField = outofboxfield; mActionCallback = actioncallback; if(mField.input != null && mField.input.hasError != null && mField.input.hasError.booleanValue()) { TextView textview = getLabelView(); if(textview != null && (textview instanceof TextView)) ((TextView)textview).setTextAppearance(getContext(), R.style.SignupErrorAppearance); } } public final String getActionType() { String s; if(mField.action != null) s = mField.action.type; else s = null; return s; } public final OutOfBoxField getField() { return mField; } public final View getInputView() { return findViewById(mInputId); } public final TextView getLabelView() { return (TextView)findViewById(mLabelId); } public final Boolean getServerBooleanValue() { OutOfBoxFieldValue outofboxfieldvalue = getServerValue(); Boolean boolean1; if(outofboxfieldvalue != null) boolean1 = outofboxfieldvalue.boolValue; else boolean1 = null; return boolean1; } public final MobileCoarseDate getServerDateValue() { OutOfBoxFieldValue outofboxfieldvalue = getServerValue(); MobileCoarseDate mobilecoarsedate; if(outofboxfieldvalue != null) mobilecoarsedate = outofboxfieldvalue.dateValue; else mobilecoarsedate = null; return mobilecoarsedate; } public final String getServerImageType() { String s; if(mField.image != null) s = mField.image.type; else s = null; return s; } public final String getServerStringValue() { OutOfBoxFieldValue outofboxfieldvalue = getServerValue(); String s; if(outofboxfieldvalue != null) s = outofboxfieldvalue.stringValue; else s = null; return s; } public final OutOfBoxFieldValue getServerValue() { OutOfBoxFieldValue outofboxfieldvalue; if(mField.input != null) outofboxfieldvalue = mField.input.value; else outofboxfieldvalue = null; return outofboxfieldvalue; } public abstract boolean isEmpty(); public abstract OutOfBoxInputField newFieldFromInput(); public void setActionEnabled(boolean flag) { } public final boolean shouldPreventCompletionAction() { OutOfBoxInputField outofboxinputfield = mField.input; boolean flag = false; if(outofboxinputfield == null) { return false; } else { boolean flag1; flag1 = "HIDDEN".equals(mField.input.type); flag = false; if(flag1) { return false; } boolean flag2 = mField.input.mandatory.booleanValue(); flag = false; if(flag2) { boolean flag3 = isEmpty(); flag = false; if(flag3) flag = true; } return flag; } } }