ListAdapter(List rateables,
double magnitude, double precision) {
...
mRateraid = Rateraid.withObjects(
rateables,
magnitude,
precision,
clickedView -> notifyDataSetChanged());
}
ListAdapter(List
double magnitude, double precision) {
...
mRateraid = Rateraid.withValues(
percents,
magnitude,
precision,
clickedView -> notifyDataSetChanged());
}
With Rateraid, developers can define behaviors for different types of interactions with a percent series in a single statement.
Features: Bind predefined as well as custom behaviors to the views controlling adjustments to optionally increment and decrement, remove or text edit the values of a percent series. Single element adjustments automatically update all values in the series as needed to maintain that their sum remain proportionate to the whole within range of the specified precision. The Java math library stands alone for further customized or platform agnostic implementations.
Role: I created the logic for the Android and Java libraries from scratch. The Android library is built atop the Android architecture, and both libraries rely on the JUnit test framework. The libraries are implemented in a complementary demo app as well as Giftab.