package com.toughra.ustadmobile.databinding;
import com.toughra.ustadmobile.R;
import com.toughra.ustadmobile.BR;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import android.view.View;
@SuppressWarnings("unchecked")
public class ItemAssignmentCourseBlockBindingImpl extends ItemAssignmentCourseBlockBinding implements com.toughra.ustadmobile.generated.callback.OnClickListener.Listener {

    @Nullable
    private static final androidx.databinding.ViewDataBinding.IncludedLayouts sIncludes;
    @Nullable
    private static final android.util.SparseIntArray sViewsWithIds;
    static {
        sIncludes = null;
        sViewsWithIds = new android.util.SparseIntArray();
        sViewsWithIds.put(R.id.item_course_block_icon, 10);
        sViewsWithIds.put(R.id.deadline_barrier, 11);
    }
    // views
    @NonNull
    private final androidx.constraintlayout.widget.ConstraintLayout mboundView0;
    // variables
    @Nullable
    private final android.view.View.OnClickListener mCallback85;
    // values
    // listeners
    // Inverse Binding Event Handlers

    public ItemAssignmentCourseBlockBindingImpl(@Nullable androidx.databinding.DataBindingComponent bindingComponent, @NonNull View root) {
        this(bindingComponent, root, mapBindings(bindingComponent, root, 12, sIncludes, sViewsWithIds));
    }
    private ItemAssignmentCourseBlockBindingImpl(androidx.databinding.DataBindingComponent bindingComponent, View root, Object[] bindings) {
        super(bindingComponent, root, 0
            , (androidx.constraintlayout.widget.Barrier) bindings[11]
            , (android.widget.TextView) bindings[2]
            , (android.widget.TextView) bindings[3]
            , (androidx.appcompat.widget.AppCompatImageView) bindings[1]
            , (com.google.android.material.imageview.ShapeableImageView) bindings[10]
            , (android.widget.TextView) bindings[8]
            , (android.widget.TextView) bindings[6]
            , (android.widget.TextView) bindings[4]
            , (android.widget.TextView) bindings[9]
            , (android.widget.ImageView) bindings[7]
            , (android.widget.TextView) bindings[5]
            );
        this.itemBlockLine1Text.setTag(null);
        this.itemBlockLine2Desc.setTag(null);
        this.itemClazzAssignmentDeadlineIcon.setTag(null);
        this.itemPersonFileSubmissionStatus.setTag(null);
        this.itemPersonPenalty.setTag(null);
        this.line3Deadline.setTag(null);
        this.line3ProgressText.setTag(null);
        this.mboundView0 = (androidx.constraintlayout.widget.ConstraintLayout) bindings[0];
        this.mboundView0.setTag(null);
        this.submissionStatusIcon.setTag(null);
        this.submissionStatusScoreValue.setTag(null);
        setRootTag(root);
        // listeners
        mCallback85 = new com.toughra.ustadmobile.generated.callback.OnClickListener(this, 1);
        invalidateAll();
    }

    @Override
    public void invalidateAll() {
        synchronized(this) {
                mDirtyFlags = 0x20L;
        }
        requestRebind();
    }

    @Override
    public boolean hasPendingBindings() {
        synchronized(this) {
            if (mDirtyFlags != 0) {
                return true;
            }
        }
        return false;
    }

    @Override
    public boolean setVariable(int variableId, @Nullable Object variable)  {
        boolean variableSet = true;
        if (BR.presenter == variableId) {
            setPresenter((com.ustadmobile.core.controller.ClazzDetailOverviewPresenter) variable);
        }
        else if (BR.assignment == variableId) {
            setAssignment((com.ustadmobile.lib.db.entities.ClazzAssignmentWithMetrics) variable);
        }
        else if (BR.block == variableId) {
            setBlock((com.ustadmobile.lib.db.entities.CourseBlockWithCompleteEntity) variable);
        }
        else if (BR.dateTimeMode == variableId) {
            setDateTimeMode((java.lang.Integer) variable);
        }
        else if (BR.timeZoneId == variableId) {
            setTimeZoneId((java.lang.String) variable);
        }
        else {
            variableSet = false;
        }
            return variableSet;
    }

    public void setPresenter(@Nullable com.ustadmobile.core.controller.ClazzDetailOverviewPresenter Presenter) {
        this.mPresenter = Presenter;
        synchronized(this) {
            mDirtyFlags |= 0x1L;
        }
        notifyPropertyChanged(BR.presenter);
        super.requestRebind();
    }
    public void setAssignment(@Nullable com.ustadmobile.lib.db.entities.ClazzAssignmentWithMetrics Assignment) {
        this.mAssignment = Assignment;
        synchronized(this) {
            mDirtyFlags |= 0x2L;
        }
        notifyPropertyChanged(BR.assignment);
        super.requestRebind();
    }
    public void setBlock(@Nullable com.ustadmobile.lib.db.entities.CourseBlockWithCompleteEntity Block) {
        this.mBlock = Block;
        synchronized(this) {
            mDirtyFlags |= 0x4L;
        }
        notifyPropertyChanged(BR.block);
        super.requestRebind();
    }
    public void setDateTimeMode(@Nullable java.lang.Integer DateTimeMode) {
        this.mDateTimeMode = DateTimeMode;
        synchronized(this) {
            mDirtyFlags |= 0x8L;
        }
        notifyPropertyChanged(BR.dateTimeMode);
        super.requestRebind();
    }
    public void setTimeZoneId(@Nullable java.lang.String TimeZoneId) {
        this.mTimeZoneId = TimeZoneId;
        synchronized(this) {
            mDirtyFlags |= 0x10L;
        }
        notifyPropertyChanged(BR.timeZoneId);
        super.requestRebind();
    }

    @Override
    protected boolean onFieldChange(int localFieldId, Object object, int fieldId) {
        switch (localFieldId) {
        }
        return false;
    }

    @Override
    protected void executeBindings() {
        long dirtyFlags = 0;
        synchronized(this) {
            dirtyFlags = mDirtyFlags;
            mDirtyFlags = 0;
        }
        long blockCbDeadlineDate = 0;
        java.lang.String assignmentCaDescription = null;
        int assignmentCaDescriptionJavaLangObjectNullViewGONEViewVISIBLE = 0;
        int assignmentProgressSummaryCalculateNotSubmittedStudents = 0;
        com.ustadmobile.core.controller.ClazzDetailOverviewPresenter presenter = mPresenter;
        java.lang.String assignmentMarkCamMarkJavaLangStringBlockCbMaxPoints = null;
        com.ustadmobile.lib.db.entities.ClazzAssignmentWithMetrics assignment = mAssignment;
        com.ustadmobile.lib.db.entities.CourseBlockWithCompleteEntity block = mBlock;
        java.lang.String assignmentMarkCamMarkJavaLangStringBlockCbMaxPointsJavaLangStringSubmissionStatusScoreValueAndroidStringPoints = null;
        int assignmentProgressSummaryMarkedStudents = 0;
        boolean assignmentMarkJavaLangObjectNullAssignmentMarkCamPenaltyInt0 = false;
        boolean assignmentProgressSummaryHasMetricsPermissionBooleanTrueAssignmentFileSubmissionStatusInt0 = false;
        int assignmentProgressSummarySubmittedStudents = 0;
        java.lang.String assignmentMarkCamMarkJavaLangStringBlockCbMaxPointsJavaLangString = null;
        boolean assignmentMarkCamPenaltyInt0 = false;
        boolean assignmentProgressSummaryHasMetricsPermission = false;
        int blockCbMaxPoints = 0;
        java.lang.String assignmentMarkCamMarkJavaLangString = null;
        int assignmentMarkJavaLangObjectNullViewVISIBLEViewGONE = 0;
        boolean assignmentFileSubmissionStatusInt0 = false;
        float assignmentMarkCamMark = 0f;
        int blockCbLateSubmissionPenalty = 0;
        java.lang.String line3ProgressTextAndroidStringThreeNumItemsWithNameWithCommaAssignmentProgressSummaryCalculateNotSubmittedStudentsLine3ProgressTextAndroidStringNotSubmittedCapAssignmentProgressSummarySubmittedStudentsLine3ProgressTextAndroidStringSubmittedCapAssignmentProgressSummaryMarkedStudentsLine3ProgressTextAndroidStringMarked = null;
        com.ustadmobile.lib.db.entities.AssignmentProgressSummary assignmentProgressSummary = null;
        java.lang.String assignmentCaTitle = null;
        boolean assignmentCaDescriptionJavaLangObjectNull = false;
        int assignmentMarkJavaLangObjectNullAssignmentMarkCamPenaltyInt0ViewVISIBLEViewGONE = 0;
        com.ustadmobile.lib.db.entities.CourseAssignmentMark assignmentMark = null;
        int blockCbIndentLevel = 0;
        int androidxDatabindingViewDataBindingSafeUnboxDateTimeMode = 0;
        int assignmentProgressSummaryHasMetricsPermissionViewVISIBLEViewGONE = 0;
        java.lang.Integer dateTimeMode = mDateTimeMode;
        int assignmentProgressSummaryHasMetricsPermissionBooleanTrueAssignmentFileSubmissionStatusInt0ViewGONEViewVISIBLE = 0;
        java.lang.String blockCbDescription = null;
        boolean assignmentMarkJavaLangObjectNull = false;
        java.lang.String timeZoneId = mTimeZoneId;
        int assignmentMarkCamPenalty = 0;
        java.lang.String itemPersonPenaltyAndroidStringLatePenaltyBlockCbLateSubmissionPenalty = null;
        int assignmentFileSubmissionStatus = 0;
        int assignmentProgressSummaryHasMetricsPermissionViewGONEViewVISIBLE = 0;

        if ((dirtyFlags & 0x26L) != 0) {


            if ((dirtyFlags & 0x22L) != 0) {

                    if (assignment != null) {
                        // read assignment.caDescription
                        assignmentCaDescription = assignment.getCaDescription();
                        // read assignment.progressSummary
                        assignmentProgressSummary = assignment.getProgressSummary();
                        // read assignment.caTitle
                        assignmentCaTitle = assignment.getCaTitle();
                        // read assignment.fileSubmissionStatus
                        assignmentFileSubmissionStatus = assignment.getFileSubmissionStatus();
                    }


                    // read assignment.caDescription == null
                    assignmentCaDescriptionJavaLangObjectNull = (assignmentCaDescription) == (null);
                if((dirtyFlags & 0x22L) != 0) {
                    if(assignmentCaDescriptionJavaLangObjectNull) {
                            dirtyFlags |= 0x80L;
                    }
                    else {
                            dirtyFlags |= 0x40L;
                    }
                }
                    if (assignmentProgressSummary != null) {
                        // read assignment.progressSummary.calculateNotSubmittedStudents()
                        assignmentProgressSummaryCalculateNotSubmittedStudents = assignmentProgressSummary.calculateNotSubmittedStudents();
                        // read assignment.progressSummary.markedStudents
                        assignmentProgressSummaryMarkedStudents = assignmentProgressSummary.getMarkedStudents();
                        // read assignment.progressSummary.submittedStudents
                        assignmentProgressSummarySubmittedStudents = assignmentProgressSummary.getSubmittedStudents();
                        // read assignment.progressSummary.hasMetricsPermission
                        assignmentProgressSummaryHasMetricsPermission = assignmentProgressSummary.getHasMetricsPermission();
                    }
                if((dirtyFlags & 0x22L) != 0) {
                    if(assignmentProgressSummaryHasMetricsPermission) {
                            dirtyFlags |= 0x200L;
                            dirtyFlags |= 0x8000L;
                            dirtyFlags |= 0x80000L;
                    }
                    else {
                            dirtyFlags |= 0x100L;
                            dirtyFlags |= 0x4000L;
                            dirtyFlags |= 0x40000L;
                    }
                }


                    // read assignment.caDescription == null ? View.GONE : View.VISIBLE
                    assignmentCaDescriptionJavaLangObjectNullViewGONEViewVISIBLE = ((assignmentCaDescriptionJavaLangObjectNull) ? (android.view.View.GONE) : (android.view.View.VISIBLE));
                    // read @android:string/three_num_items_with_name_with_comma
                    line3ProgressTextAndroidStringThreeNumItemsWithNameWithCommaAssignmentProgressSummaryCalculateNotSubmittedStudentsLine3ProgressTextAndroidStringNotSubmittedCapAssignmentProgressSummarySubmittedStudentsLine3ProgressTextAndroidStringSubmittedCapAssignmentProgressSummaryMarkedStudentsLine3ProgressTextAndroidStringMarked = line3ProgressText.getResources().getString(R.string.three_num_items_with_name_with_comma, assignmentProgressSummaryCalculateNotSubmittedStudents, line3ProgressText.getResources().getString(R.string.not_submitted_cap), assignmentProgressSummarySubmittedStudents, line3ProgressText.getResources().getString(R.string.submitted_cap), assignmentProgressSummaryMarkedStudents, line3ProgressText.getResources().getString(R.string.marked));
                    // read assignment.progressSummary.hasMetricsPermission ? View.VISIBLE : View.GONE
                    assignmentProgressSummaryHasMetricsPermissionViewVISIBLEViewGONE = ((assignmentProgressSummaryHasMetricsPermission) ? (android.view.View.VISIBLE) : (android.view.View.GONE));
                    // read assignment.progressSummary.hasMetricsPermission ? View.GONE : View.VISIBLE
                    assignmentProgressSummaryHasMetricsPermissionViewGONEViewVISIBLE = ((assignmentProgressSummaryHasMetricsPermission) ? (android.view.View.GONE) : (android.view.View.VISIBLE));
            }

                if (assignment != null) {
                    // read assignment.mark
                    assignmentMark = assignment.getMark();
                }


                if (assignmentMark != null) {
                    // read assignment.mark.camMark
                    assignmentMarkCamMark = assignmentMark.getCamMark();
                }


                // read (assignment.mark.camMark) + ("/")
                assignmentMarkCamMarkJavaLangString = (assignmentMarkCamMark) + ("/");
            if ((dirtyFlags & 0x22L) != 0) {

                    // read assignment.mark != null
                    assignmentMarkJavaLangObjectNull = (assignmentMark) != (null);
                if((dirtyFlags & 0x22L) != 0) {
                    if(assignmentMarkJavaLangObjectNull) {
                            dirtyFlags |= 0x800L;
                    }
                    else {
                            dirtyFlags |= 0x400L;
                    }
                }
                    if (assignmentMark != null) {
                        // read assignment.mark.camPenalty
                        assignmentMarkCamPenalty = assignmentMark.getCamPenalty();
                    }


                    // read assignment.mark != null ? View.VISIBLE : View.GONE
                    assignmentMarkJavaLangObjectNullViewVISIBLEViewGONE = ((assignmentMarkJavaLangObjectNull) ? (android.view.View.VISIBLE) : (android.view.View.GONE));
                    // read assignment.mark.camPenalty != 0
                    assignmentMarkCamPenaltyInt0 = (assignmentMarkCamPenalty) != (0);


                    // read (assignment.mark != null) & (assignment.mark.camPenalty != 0)
                    assignmentMarkJavaLangObjectNullAssignmentMarkCamPenaltyInt0 = (assignmentMarkJavaLangObjectNull) & (assignmentMarkCamPenaltyInt0);
                if((dirtyFlags & 0x22L) != 0) {
                    if(assignmentMarkJavaLangObjectNullAssignmentMarkCamPenaltyInt0) {
                            dirtyFlags |= 0x2000L;
                    }
                    else {
                            dirtyFlags |= 0x1000L;
                    }
                }


                    // read (assignment.mark != null) & (assignment.mark.camPenalty != 0) ? View.VISIBLE : View.GONE
                    assignmentMarkJavaLangObjectNullAssignmentMarkCamPenaltyInt0ViewVISIBLEViewGONE = ((assignmentMarkJavaLangObjectNullAssignmentMarkCamPenaltyInt0) ? (android.view.View.VISIBLE) : (android.view.View.GONE));
            }
        }
        if ((dirtyFlags & 0x3eL) != 0) {


            if ((dirtyFlags & 0x3cL) != 0) {

                    if (block != null) {
                        // read block.cbDeadlineDate
                        blockCbDeadlineDate = block.getCbDeadlineDate();
                    }
            }
            if ((dirtyFlags & 0x26L) != 0) {

                    if (block != null) {
                        // read block.cbMaxPoints
                        blockCbMaxPoints = block.getCbMaxPoints();
                    }


                    // read ((assignment.mark.camMark) + ("/")) + (block.cbMaxPoints)
                    assignmentMarkCamMarkJavaLangStringBlockCbMaxPoints = (assignmentMarkCamMarkJavaLangString) + (blockCbMaxPoints);


                    // read (((assignment.mark.camMark) + ("/")) + (block.cbMaxPoints)) + (" ")
                    assignmentMarkCamMarkJavaLangStringBlockCbMaxPointsJavaLangString = (assignmentMarkCamMarkJavaLangStringBlockCbMaxPoints) + (" ");


                    // read ((((assignment.mark.camMark) + ("/")) + (block.cbMaxPoints)) + (" ")) + (@android:string/points)
                    assignmentMarkCamMarkJavaLangStringBlockCbMaxPointsJavaLangStringSubmissionStatusScoreValueAndroidStringPoints = (assignmentMarkCamMarkJavaLangStringBlockCbMaxPointsJavaLangString) + (submissionStatusScoreValue.getResources().getString(R.string.points));
            }
            if ((dirtyFlags & 0x24L) != 0) {

                    if (block != null) {
                        // read block.cbLateSubmissionPenalty
                        blockCbLateSubmissionPenalty = block.getCbLateSubmissionPenalty();
                        // read block.cbIndentLevel
                        blockCbIndentLevel = block.getCbIndentLevel();
                        // read block.cbDescription
                        blockCbDescription = block.getCbDescription();
                    }


                    // read @android:string/late_penalty
                    itemPersonPenaltyAndroidStringLatePenaltyBlockCbLateSubmissionPenalty = itemPersonPenalty.getResources().getString(R.string.late_penalty, blockCbLateSubmissionPenalty);
            }
        }
        if ((dirtyFlags & 0x3cL) != 0) {



                // read androidx.databinding.ViewDataBinding.safeUnbox(dateTimeMode)
                androidxDatabindingViewDataBindingSafeUnboxDateTimeMode = androidx.databinding.ViewDataBinding.safeUnbox(dateTimeMode);
        }
        // batch finished

        if ((dirtyFlags & 0x100L) != 0) {

                // read assignment.fileSubmissionStatus == 0
                assignmentFileSubmissionStatusInt0 = (assignmentFileSubmissionStatus) == (0);
        }

        if ((dirtyFlags & 0x22L) != 0) {

                // read assignment.progressSummary.hasMetricsPermission ? true : assignment.fileSubmissionStatus == 0
                assignmentProgressSummaryHasMetricsPermissionBooleanTrueAssignmentFileSubmissionStatusInt0 = ((assignmentProgressSummaryHasMetricsPermission) ? (true) : (assignmentFileSubmissionStatusInt0));
            if((dirtyFlags & 0x22L) != 0) {
                if(assignmentProgressSummaryHasMetricsPermissionBooleanTrueAssignmentFileSubmissionStatusInt0) {
                        dirtyFlags |= 0x20000L;
                }
                else {
                        dirtyFlags |= 0x10000L;
                }
            }


                // read assignment.progressSummary.hasMetricsPermission ? true : assignment.fileSubmissionStatus == 0 ? View.GONE : View.VISIBLE
                assignmentProgressSummaryHasMetricsPermissionBooleanTrueAssignmentFileSubmissionStatusInt0ViewGONEViewVISIBLE = ((assignmentProgressSummaryHasMetricsPermissionBooleanTrueAssignmentFileSubmissionStatusInt0) ? (android.view.View.GONE) : (android.view.View.VISIBLE));
        }
        // batch finished
        if ((dirtyFlags & 0x22L) != 0) {
            // api target 1

            androidx.databinding.adapters.TextViewBindingAdapter.setText(this.itemBlockLine1Text, assignmentCaTitle);
            this.itemBlockLine2Desc.setVisibility(assignmentCaDescriptionJavaLangObjectNullViewGONEViewVISIBLE);
            this.itemPersonFileSubmissionStatus.setVisibility(assignmentProgressSummaryHasMetricsPermissionViewGONEViewVISIBLE);
            com.ustadmobile.port.android.view.binding.TextViewBindingsKt.setTextMessageIdOptionSelected(this.itemPersonFileSubmissionStatus, assignmentFileSubmissionStatus);
            this.itemPersonPenalty.setVisibility(assignmentMarkJavaLangObjectNullAssignmentMarkCamPenaltyInt0ViewVISIBLEViewGONE);
            this.line3ProgressText.setVisibility(assignmentProgressSummaryHasMetricsPermissionViewVISIBLEViewGONE);
            androidx.databinding.adapters.TextViewBindingAdapter.setText(this.line3ProgressText, line3ProgressTextAndroidStringThreeNumItemsWithNameWithCommaAssignmentProgressSummaryCalculateNotSubmittedStudentsLine3ProgressTextAndroidStringNotSubmittedCapAssignmentProgressSummarySubmittedStudentsLine3ProgressTextAndroidStringSubmittedCapAssignmentProgressSummaryMarkedStudentsLine3ProgressTextAndroidStringMarked);
            this.submissionStatusIcon.setVisibility(assignmentProgressSummaryHasMetricsPermissionBooleanTrueAssignmentFileSubmissionStatusInt0ViewGONEViewVISIBLE);
            com.ustadmobile.port.android.view.binding.ImageViewBindingsKt.setImageLookupKey(this.submissionStatusIcon, assignmentFileSubmissionStatus);
            this.submissionStatusScoreValue.setVisibility(assignmentMarkJavaLangObjectNullViewVISIBLEViewGONE);
        }
        if ((dirtyFlags & 0x24L) != 0) {
            // api target 1

            androidx.databinding.adapters.TextViewBindingAdapter.setText(this.itemBlockLine2Desc, blockCbDescription);
            com.ustadmobile.port.android.view.binding.DatePickerBindingAdapter2Kt.setVisibilityIfSetDate(this.itemClazzAssignmentDeadlineIcon, blockCbDeadlineDate);
            androidx.databinding.adapters.TextViewBindingAdapter.setText(this.itemPersonPenalty, itemPersonPenaltyAndroidStringLatePenaltyBlockCbLateSubmissionPenalty);
            com.ustadmobile.port.android.view.binding.DatePickerBindingAdapter2Kt.setVisibilityIfSetDate(this.line3Deadline, blockCbDeadlineDate);
            com.ustadmobile.port.android.view.binding.ViewBindingsKt.setIndentLevel(this.mboundView0, blockCbIndentLevel);
        }
        if ((dirtyFlags & 0x20L) != 0) {
            // api target 1

            com.ustadmobile.port.android.view.binding.TextViewBindingsKt.setTextMessageIdOptions(this.itemPersonFileSubmissionStatus, com.ustadmobile.core.controller.SubmissionConstants.STATUS_MAP, (java.lang.Integer)null, (java.lang.String)null);
            this.mboundView0.setOnClickListener(mCallback85);
            com.ustadmobile.port.android.view.binding.ImageViewBindingsKt.setImageLookupMap(this.submissionStatusIcon, com.ustadmobile.port.android.view.ClazzAssignmentDetailOverviewFragment.ASSIGNMENT_STATUS_MAP, (java.lang.Integer)null);
        }
        if ((dirtyFlags & 0x3cL) != 0) {
            // api target 1

            com.ustadmobile.port.android.view.binding.DatePickerBindingAdapter2Kt.setDateTime2(this.line3Deadline, blockCbDeadlineDate, timeZoneId, androidxDatabindingViewDataBindingSafeUnboxDateTimeMode);
        }
        if ((dirtyFlags & 0x26L) != 0) {
            // api target 1

            androidx.databinding.adapters.TextViewBindingAdapter.setText(this.submissionStatusScoreValue, assignmentMarkCamMarkJavaLangStringBlockCbMaxPointsJavaLangStringSubmissionStatusScoreValueAndroidStringPoints);
        }
    }
    // Listener Stub Implementations
    // callback impls
    public final void _internalCallbackOnClick(int sourceId , android.view.View callbackArg_0) {
        // localize variables for thread safety
        // presenter != null
        boolean presenterJavaLangObjectNull = false;
        // presenter
        com.ustadmobile.core.controller.ClazzDetailOverviewPresenter presenter = mPresenter;
        // assignment
        com.ustadmobile.lib.db.entities.ClazzAssignmentWithMetrics assignment = mAssignment;



        presenterJavaLangObjectNull = (presenter) != (null);
        if (presenterJavaLangObjectNull) {



            presenter.handleClickAssignment(assignment);
        }
    }
    // dirty flag
    private  long mDirtyFlags = 0xffffffffffffffffL;
    /* flag mapping
        flag 0 (0x1L): presenter
        flag 1 (0x2L): assignment
        flag 2 (0x3L): block
        flag 3 (0x4L): dateTimeMode
        flag 4 (0x5L): timeZoneId
        flag 5 (0x6L): null
        flag 6 (0x7L): assignment.caDescription == null ? View.GONE : View.VISIBLE
        flag 7 (0x8L): assignment.caDescription == null ? View.GONE : View.VISIBLE
        flag 8 (0x9L): assignment.progressSummary.hasMetricsPermission ? true : assignment.fileSubmissionStatus == 0
        flag 9 (0xaL): assignment.progressSummary.hasMetricsPermission ? true : assignment.fileSubmissionStatus == 0
        flag 10 (0xbL): assignment.mark != null ? View.VISIBLE : View.GONE
        flag 11 (0xcL): assignment.mark != null ? View.VISIBLE : View.GONE
        flag 12 (0xdL): (assignment.mark != null) & (assignment.mark.camPenalty != 0) ? View.VISIBLE : View.GONE
        flag 13 (0xeL): (assignment.mark != null) & (assignment.mark.camPenalty != 0) ? View.VISIBLE : View.GONE
        flag 14 (0xfL): assignment.progressSummary.hasMetricsPermission ? View.VISIBLE : View.GONE
        flag 15 (0x10L): assignment.progressSummary.hasMetricsPermission ? View.VISIBLE : View.GONE
        flag 16 (0x11L): assignment.progressSummary.hasMetricsPermission ? true : assignment.fileSubmissionStatus == 0 ? View.GONE : View.VISIBLE
        flag 17 (0x12L): assignment.progressSummary.hasMetricsPermission ? true : assignment.fileSubmissionStatus == 0 ? View.GONE : View.VISIBLE
        flag 18 (0x13L): assignment.progressSummary.hasMetricsPermission ? View.GONE : View.VISIBLE
        flag 19 (0x14L): assignment.progressSummary.hasMetricsPermission ? View.GONE : View.VISIBLE
    flag mapping end*/
    //end
}