Loading microg-ui-tools/src/main/java/org/microg/tools/ui/Condition.java +63 −2 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package org.microg.tools.ui; import android.content.Context; import android.graphics.drawable.Drawable; import android.support.annotation.DrawableRes; import android.support.annotation.PluralsRes; import android.support.annotation.StringRes; import android.support.v4.content.res.ResourcesCompat; import android.view.LayoutInflater; Loading @@ -35,19 +36,27 @@ public class Condition { @StringRes private final int titleRes; @PluralsRes private final int titlePluralsRes; private final CharSequence title; @StringRes private final int summaryRes; @PluralsRes private final int summaryPluralsRes; private final CharSequence summary; @StringRes private final int firstActionTextRes; @PluralsRes private final int firstActionPluralsRes; private final CharSequence firstActionText; private final View.OnClickListener firstActionListener; @StringRes private final int secondActionTextRes; @PluralsRes private final int secondActionPluralsRes; private final CharSequence secondActionText; private final View.OnClickListener secondActionListener; Loading @@ -55,6 +64,7 @@ public class Condition { private boolean evaluated = false; private boolean evaluating = false; private int evaluatedPlurals = -1; private boolean active; Condition(Builder builder) { Loading @@ -71,6 +81,10 @@ public class Condition { secondActionTextRes = builder.secondActionTextRes; titleRes = builder.titleRes; evaluation = builder.evaluation; titlePluralsRes = builder.titlePluralsRes; summaryPluralsRes = builder.summaryPluralsRes; firstActionPluralsRes = builder.firstActionPluralsRes; secondActionPluralsRes = builder.secondActionPluralsRes; } View createView(final Context context, ViewGroup container) { Loading Loading @@ -122,6 +136,9 @@ public class Condition { if (titleRes != 0) { return context.getString(titleRes); } if (titlePluralsRes != 0) { return context.getResources().getQuantityString(titlePluralsRes, evaluatedPlurals); } return title; } Loading @@ -129,6 +146,9 @@ public class Condition { if (summaryRes != 0) { return context.getString(summaryRes); } if (summaryPluralsRes != 0) { return context.getResources().getQuantityString(summaryPluralsRes, evaluatedPlurals); } return summary; } Loading @@ -140,6 +160,9 @@ public class Condition { if (firstActionTextRes != 0) { return context.getString(firstActionTextRes); } if (firstActionPluralsRes != 0) { return context.getResources().getQuantityString(firstActionPluralsRes, evaluatedPlurals); } return firstActionText; } Loading @@ -151,6 +174,9 @@ public class Condition { if (secondActionTextRes != 0) { return context.getString(secondActionTextRes); } if (secondActionPluralsRes != 0) { return context.getResources().getQuantityString(secondActionPluralsRes, evaluatedPlurals); } return secondActionText; } Loading @@ -168,6 +194,7 @@ public class Condition { public synchronized void evaluate(Context context) { active = evaluation == null || evaluation.isActive(context); evaluatedPlurals = evaluation.getPluralsCount(); evaluated = true; evaluating = false; } Loading @@ -181,8 +208,12 @@ public class Condition { this.evaluated = false; } public interface Evaluation { boolean isActive(Context context); public static abstract class Evaluation { public abstract boolean isActive(Context context); public int getPluralsCount() { return 1; } } public static class Builder { Loading @@ -192,16 +223,24 @@ public class Condition { private Drawable icon; @StringRes private int titleRes; @PluralsRes private int titlePluralsRes; private CharSequence title; @StringRes private int summaryRes; @PluralsRes private int summaryPluralsRes; private CharSequence summary; @StringRes private int firstActionTextRes; @PluralsRes private int firstActionPluralsRes; private CharSequence firstActionText; private View.OnClickListener firstActionListener; @StringRes private int secondActionTextRes; @PluralsRes private int secondActionPluralsRes; private CharSequence secondActionText; private View.OnClickListener secondActionListener; private Evaluation evaluation; Loading Loading @@ -230,6 +269,11 @@ public class Condition { return this; } public Builder titlePlurals(@PluralsRes int val) { titlePluralsRes = val; return this; } public Builder summary(CharSequence val) { summary = val; return this; Loading @@ -240,6 +284,11 @@ public class Condition { return this; } public Builder summaryPlurals(@PluralsRes int val) { summaryPluralsRes = val; return this; } public Builder firstAction(CharSequence text, View.OnClickListener listener) { firstActionText = text; firstActionListener = listener; Loading @@ -252,6 +301,12 @@ public class Condition { return this; } public Builder firstActionPlurals(@PluralsRes int val, View.OnClickListener listener) { firstActionPluralsRes = val; firstActionListener = listener; return this; } public Builder secondAction(CharSequence text, View.OnClickListener listener) { secondActionText = text; secondActionListener = listener; Loading @@ -264,6 +319,12 @@ public class Condition { return this; } public Builder secondActionPlurals(@PluralsRes int val, View.OnClickListener listener) { secondActionPluralsRes = val; secondActionListener = listener; return this; } public Builder evaluation(Evaluation evaluation) { this.evaluation = evaluation; return this; Loading Loading
microg-ui-tools/src/main/java/org/microg/tools/ui/Condition.java +63 −2 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package org.microg.tools.ui; import android.content.Context; import android.graphics.drawable.Drawable; import android.support.annotation.DrawableRes; import android.support.annotation.PluralsRes; import android.support.annotation.StringRes; import android.support.v4.content.res.ResourcesCompat; import android.view.LayoutInflater; Loading @@ -35,19 +36,27 @@ public class Condition { @StringRes private final int titleRes; @PluralsRes private final int titlePluralsRes; private final CharSequence title; @StringRes private final int summaryRes; @PluralsRes private final int summaryPluralsRes; private final CharSequence summary; @StringRes private final int firstActionTextRes; @PluralsRes private final int firstActionPluralsRes; private final CharSequence firstActionText; private final View.OnClickListener firstActionListener; @StringRes private final int secondActionTextRes; @PluralsRes private final int secondActionPluralsRes; private final CharSequence secondActionText; private final View.OnClickListener secondActionListener; Loading @@ -55,6 +64,7 @@ public class Condition { private boolean evaluated = false; private boolean evaluating = false; private int evaluatedPlurals = -1; private boolean active; Condition(Builder builder) { Loading @@ -71,6 +81,10 @@ public class Condition { secondActionTextRes = builder.secondActionTextRes; titleRes = builder.titleRes; evaluation = builder.evaluation; titlePluralsRes = builder.titlePluralsRes; summaryPluralsRes = builder.summaryPluralsRes; firstActionPluralsRes = builder.firstActionPluralsRes; secondActionPluralsRes = builder.secondActionPluralsRes; } View createView(final Context context, ViewGroup container) { Loading Loading @@ -122,6 +136,9 @@ public class Condition { if (titleRes != 0) { return context.getString(titleRes); } if (titlePluralsRes != 0) { return context.getResources().getQuantityString(titlePluralsRes, evaluatedPlurals); } return title; } Loading @@ -129,6 +146,9 @@ public class Condition { if (summaryRes != 0) { return context.getString(summaryRes); } if (summaryPluralsRes != 0) { return context.getResources().getQuantityString(summaryPluralsRes, evaluatedPlurals); } return summary; } Loading @@ -140,6 +160,9 @@ public class Condition { if (firstActionTextRes != 0) { return context.getString(firstActionTextRes); } if (firstActionPluralsRes != 0) { return context.getResources().getQuantityString(firstActionPluralsRes, evaluatedPlurals); } return firstActionText; } Loading @@ -151,6 +174,9 @@ public class Condition { if (secondActionTextRes != 0) { return context.getString(secondActionTextRes); } if (secondActionPluralsRes != 0) { return context.getResources().getQuantityString(secondActionPluralsRes, evaluatedPlurals); } return secondActionText; } Loading @@ -168,6 +194,7 @@ public class Condition { public synchronized void evaluate(Context context) { active = evaluation == null || evaluation.isActive(context); evaluatedPlurals = evaluation.getPluralsCount(); evaluated = true; evaluating = false; } Loading @@ -181,8 +208,12 @@ public class Condition { this.evaluated = false; } public interface Evaluation { boolean isActive(Context context); public static abstract class Evaluation { public abstract boolean isActive(Context context); public int getPluralsCount() { return 1; } } public static class Builder { Loading @@ -192,16 +223,24 @@ public class Condition { private Drawable icon; @StringRes private int titleRes; @PluralsRes private int titlePluralsRes; private CharSequence title; @StringRes private int summaryRes; @PluralsRes private int summaryPluralsRes; private CharSequence summary; @StringRes private int firstActionTextRes; @PluralsRes private int firstActionPluralsRes; private CharSequence firstActionText; private View.OnClickListener firstActionListener; @StringRes private int secondActionTextRes; @PluralsRes private int secondActionPluralsRes; private CharSequence secondActionText; private View.OnClickListener secondActionListener; private Evaluation evaluation; Loading Loading @@ -230,6 +269,11 @@ public class Condition { return this; } public Builder titlePlurals(@PluralsRes int val) { titlePluralsRes = val; return this; } public Builder summary(CharSequence val) { summary = val; return this; Loading @@ -240,6 +284,11 @@ public class Condition { return this; } public Builder summaryPlurals(@PluralsRes int val) { summaryPluralsRes = val; return this; } public Builder firstAction(CharSequence text, View.OnClickListener listener) { firstActionText = text; firstActionListener = listener; Loading @@ -252,6 +301,12 @@ public class Condition { return this; } public Builder firstActionPlurals(@PluralsRes int val, View.OnClickListener listener) { firstActionPluralsRes = val; firstActionListener = listener; return this; } public Builder secondAction(CharSequence text, View.OnClickListener listener) { secondActionText = text; secondActionListener = listener; Loading @@ -264,6 +319,12 @@ public class Condition { return this; } public Builder secondActionPlurals(@PluralsRes int val, View.OnClickListener listener) { secondActionPluralsRes = val; secondActionListener = listener; return this; } public Builder evaluation(Evaluation evaluation) { this.evaluation = evaluation; return this; Loading