diff options
author | Pierre-Louis <plg@google.com> | 2021-04-29 19:58:04 +0200 |
---|---|---|
committer | Pierre-Louis Guidez <plg@google.com> | 2021-05-06 11:02:09 +0000 |
commit | 1b33e3e43d1827057b1515cb46d9c02b7bb710ba (patch) | |
tree | 940fe9c23c6c223f09c4266b0cdaca49a3716f9c /src | |
parent | 3aaed1278c039f79749f059e4f68f29bfe03dedc (diff) | |
download | ThemePicker-1b33e3e43d1827057b1515cb46d9c02b7bb710ba.tar.gz |
Draw 4x5 graph for grid options
Simplified the draw method
Screenshot: https://screenshot.googleplex.com/8hsf2bUJXM3osH3.png
Screenshot (high density): https://screenshot.googleplex.com/6A7fpV3ow5FWHdW.png
Screenshot (low density): https://screenshot.googleplex.com/AJDAgo5jWfDBgSe.png
Bug: 186606404
Test: manual, at different screen densities
Change-Id: Ibe4080be00d492028b1cb74ed1700498ad812196
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/customization/model/grid/LauncherGridOptionsProvider.java | 2 | ||||
-rw-r--r-- | src/com/android/customization/widget/GridTileDrawable.java | 9 |
2 files changed, 7 insertions, 4 deletions
diff --git a/src/com/android/customization/model/grid/LauncherGridOptionsProvider.java b/src/com/android/customization/model/grid/LauncherGridOptionsProvider.java index cdab1a6b..06c4761f 100644 --- a/src/com/android/customization/model/grid/LauncherGridOptionsProvider.java +++ b/src/com/android/customization/model/grid/LauncherGridOptionsProvider.java @@ -92,7 +92,7 @@ public class LauncherGridOptionsProvider { int rows = c.getInt(c.getColumnIndex(COL_ROWS)); int cols = c.getInt(c.getColumnIndex(COL_COLS)); int previewCount = c.getInt(c.getColumnIndex(COL_PREVIEW_COUNT)); - boolean isSet = Boolean.valueOf(c.getString(c.getColumnIndex(COL_IS_DEFAULT))); + boolean isSet = Boolean.parseBoolean(c.getString(c.getColumnIndex(COL_IS_DEFAULT))); String title = GRID_NAME_NORMAL.equals(name) ? mContext.getString(R.string.default_theme_title) : mContext.getString(R.string.grid_title_pattern, cols, rows); diff --git a/src/com/android/customization/widget/GridTileDrawable.java b/src/com/android/customization/widget/GridTileDrawable.java index 5039cf64..83cd0b57 100644 --- a/src/com/android/customization/widget/GridTileDrawable.java +++ b/src/com/android/customization/widget/GridTileDrawable.java @@ -40,7 +40,8 @@ public class GridTileDrawable extends Drawable { @Override protected void onBoundsChange(Rect bounds) { super.onBoundsChange(bounds); - mCellSize = (float) bounds.height() / mRows; + int longestSide = Math.max(mRows, mCols); + mCellSize = (float) bounds.width() / longestSide; float scaleFactor = (mCellSize - 2 * SPACE_BETWEEN_ICONS) / PATH_SIZE; mScaleMatrix.setScale(scaleFactor, scaleFactor); @@ -49,11 +50,13 @@ public class GridTileDrawable extends Drawable { @Override public void draw(Canvas canvas) { + double size = getBounds().width(); + for (int r = 0; r < mRows; r++) { for (int c = 0; c < mCols; c++) { int saveCount = canvas.save(); - float x = (c * mCellSize) + SPACE_BETWEEN_ICONS; - float y = (r * mCellSize) + SPACE_BETWEEN_ICONS; + float x = (float) ((r * size / mRows) + SPACE_BETWEEN_ICONS); + float y = (float) ((c * size / mCols) + SPACE_BETWEEN_ICONS); canvas.translate(x, y); canvas.drawPath(mTransformedPath, mPaint); canvas.restoreToCount(saveCount); |