gui: PatternPassword: allow any N*N grid
Rather than only supporting a 3x3 grid, allow for multiple grid sizes
(using the CyanogenMod method of generating passphrases for non-3x3
grids). Also fix the detection of touches, as the old code was far too
sensitive for larger grids (and also didn't make much sense).
Change-Id: I343ef654e6d29ce0cb790a28281be7c7c9b171d9
Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
diff --git a/gui/devices/320x320/res/ui.xml b/gui/devices/320x320/res/ui.xml
index afe2509..345a81c 100644
--- a/gui/devices/320x320/res/ui.xml
+++ b/gui/devices/320x320/res/ui.xml
@@ -211,6 +211,7 @@
<variable name="pattern_dot_radius" value="7" />
<variable name="pattern_line_color" value="#33B5E5" />
<variable name="pattern_line_width" value="4" />
+ <variable name="pattern_button_y" value="33" />
</variables>
<templates>
@@ -323,6 +324,40 @@
</object>
</template>
+ <template name="pattern_options">
+ <object type="button">
+ <placement x="%col1_medium_x%" y="%pattern_button_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>3x3</text>
+ <image resource="sort_button" />
+ <action function="set">tw_gui_pattern_grid_size=3</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col2_medium_x%" y="%pattern_button_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>4x4</text>
+ <image resource="sort_button" />
+ <action function="set">tw_gui_pattern_grid_size=4</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col3_medium_x%" y="%pattern_button_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>5x5</text>
+ <image resource="sort_button" />
+ <action function="set">tw_gui_pattern_grid_size=5</action>
+ </object>
+
+ <object type="button">
+ <placement x="%col4_medium_x%" y="%pattern_button_y%" />
+ <font resource="font" color="%button_text_color%" />
+ <text>6x6</text>
+ <image resource="sort_button" />
+ <action function="set">tw_gui_pattern_grid_size=6</action>
+ </object>
+ </template>
+
<template name="sort_options">
<object type="text" color="%text_color%">
<font resource="mediumfont" />