// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.geocities.com/kpdus/jad.html // Decompiler options: braces fieldsfirst space lnc package com.oliodevices.assist.app.views; import android.content.Context; import android.content.res.Resources; import android.text.SpannableStringBuilder; import android.text.method.LinkMovementMethod; import android.util.AttributeSet; import android.widget.TextView; import com.oliodevices.assist.app.api.models.EditableRule; import com.oliodevices.assist.app.core.RulesUtil; import java.util.List; // Referenced classes of package com.oliodevices.assist.app.views: // RuleOption, RuleToken public class RuleDisplayView extends TextView { private static final String AMPERSAND = " &"; private static final String COMMA = " ,"; private static final String ELLIPSIS = " \u2026"; private static final String PERIOD = " ."; private static final String PLACEHOLDER_TEXT = "token.%d"; private static final String PLACEHOLDER_TEXT_PART1 = "part.1.%d"; private static final String PLACEHOLDER_TEXT_PART2 = "part.2.%d"; private static final String PLACEHOLDER_TEXT_PART3 = "part.3.%d"; private static final String PLACEHOLDER_TEXT_PART4 = "part.4.%d"; private static final String SPACE = " "; public RuleDisplayView(Context context) { this(context, null, 0); } public RuleDisplayView(Context context, AttributeSet attributeset) { this(context, attributeset, 0); } public RuleDisplayView(Context context, AttributeSet attributeset, int i) { super(context, attributeset, i); } private String buildFullMessage(EditableRule editablerule, CharSequence charsequence, CharSequence charsequence1, CharSequence charsequence2, CharSequence charsequence3) { Resources resources = getResources(); switch (editablerule.getRuleType()) { default: if (editablerule.getStep3().isEmpty()) { return resources.getString(0x7f060160, new Object[] { charsequence, charsequence1 }); } else { return resources.getString(0x7f060161, new Object[] { charsequence, charsequence1, charsequence2 }); } case 1: // '\001' return resources.getString(0x7f060044, new Object[] { charsequence, charsequence1, charsequence2, editablerule.getStep4String() }); case 2: // '\002' return resources.getString(0x7f060130, new Object[] { charsequence, charsequence1, charsequence2, charsequence3 }); } } private void convertPlaceholdersToSpans(SpannableStringBuilder spannablestringbuilder, List list, boolean flag, String s, RuleToken.SpanClickedListener spanclickedlistener) { int i = 0; while (i < list.size()) { RuleOption ruleoption = (RuleOption)list.get(i); Object obj; int j; int k; if (i == list.size() - 1) { if (flag) { obj = " ."; } else { obj = null; } } else if (i == list.size() - 2) { obj = " &"; } else { obj = " ,"; } obj = new RuleToken(getContext(), ruleoption, ((String) (obj)), spanclickedlistener); j = spannablestringbuilder.toString().indexOf(String.format(s, new Object[] { Integer.valueOf(i) })); k = j + String.format(s, new Object[] { Integer.valueOf(i) }).length(); spannablestringbuilder.setSpan(((RuleToken) (obj)).getReplacementSpan(), j, k, 18); spannablestringbuilder.setSpan(((RuleToken) (obj)).getClickableSpan(), j, k, 18); i++; } } private StringBuilder createPlaceholders(int i, String s) { StringBuilder stringbuilder = new StringBuilder(); for (int j = 0; j < i; j++) { stringbuilder.append(String.format(s, new Object[] { Integer.valueOf(j) })); if (j != i - 1) { stringbuilder.append(" "); } } return stringbuilder; } public void setRule(EditableRule editablerule, RuleToken.SpanClickedListener spanclickedlistener) { Object obj = createPlaceholders(editablerule.getStep1().size(), "part.1.%d"); Object obj1 = createPlaceholders(editablerule.getStep2().size(), "part.2.%d"); StringBuilder stringbuilder1 = createPlaceholders(editablerule.getStep3().size(), "part.3.%d"); StringBuilder stringbuilder = null; if (editablerule.getStep4Selection() != null) { stringbuilder = createPlaceholders(editablerule.getStep4Selection().size(), "part.4.%d"); } int i = editablerule.getRuleType(); obj = new SpannableStringBuilder(buildFullMessage(editablerule, ((CharSequence) (obj)), ((CharSequence) (obj1)), stringbuilder1, stringbuilder)); convertPlaceholdersToSpans(((SpannableStringBuilder) (obj)), editablerule.getStep1(), false, "part.1.%d", spanclickedlistener); obj1 = editablerule.getStep2(); boolean flag; if (i == 2 || i == 3 && editablerule.getStep3().isEmpty()) { flag = true; } else { flag = false; } convertPlaceholdersToSpans(((SpannableStringBuilder) (obj)), ((List) (obj1)), flag, "part.2.%d", spanclickedlistener); obj1 = editablerule.getStep3(); if (i != 2) { flag = true; } else { flag = false; } convertPlaceholdersToSpans(((SpannableStringBuilder) (obj)), ((List) (obj1)), flag, "part.3.%d", spanclickedlistener); if (stringbuilder != null) { convertPlaceholdersToSpans(((SpannableStringBuilder) (obj)), editablerule.getStep4Selection(), true, "part.4.%d", spanclickedlistener); } setText(((CharSequence) (obj)), android.widget.TextView.BufferType.SPANNABLE); setMovementMethod(LinkMovementMethod.getInstance()); setClickable(true); } public void setRuleOptions(List list, int i, int j, boolean flag) { StringBuilder stringbuilder = createPlaceholders(list.size(), "token.%d"); i = RulesUtil.getMessageId(i, j, list.isEmpty()); SpannableStringBuilder spannablestringbuilder = new SpannableStringBuilder(getResources().getString(i, new Object[] { stringbuilder })); i = 0; while (i < list.size()) { RuleOption ruleoption = (RuleOption)list.get(i); Object obj; int k; if (i == list.size() - 1) { if (flag) { obj = " ."; } else { obj = " \u2026"; } } else if (i == list.size() - 2) { obj = " &"; } else { obj = " ,"; } obj = new RuleToken(getContext(), ruleoption, ((String) (obj))); j = spannablestringbuilder.toString().indexOf(String.format("token.%d", new Object[] { Integer.valueOf(i) })); k = String.format("token.%d", new Object[] { Integer.valueOf(i) }).length(); spannablestringbuilder.setSpan(((RuleToken) (obj)).getReplacementSpan(), j, j + k, 18); i++; } setText(spannablestringbuilder, android.widget.TextView.BufferType.SPANNABLE); } }