Draw the feature graphic, and fill the 7-inch tablet slot - #607
Merged
Conversation
Two listing assets the release never touched, both still pictures of the app as it looked before the 4.14 redesign. The 7" screenshot slot held five of them. `sevenInchScreenshots` was deliberately left out of the staging table, on the grounds that play falls back to the phone pictures there - but it only falls back where the slot is *empty*, and this one has not been for years. So it went on showing the old app through every release that rewrote the other two slots. The tablet's captures go into both slots now: 1600x2560 is inside the 7" slot's limits as well as the 10" one's, so nothing new is photographed and the emulator hour does not move. The feature graphic - the picture play shows above the listing, in all fifteen storefronts - was a committed 1024x500 png, the one listing asset the release uploaded nothing over. It is drawn now, out of the same parts a screenshot is framed from: the ground, the dashed line, the drawn Pixel and the odt/ods/odp tabs, laid out across the canvas instead of down. Its capture is the first screenshot's, and its headline that screen's, so there is no second line of copy to write and none to translate fifteen times - and one per locale, where the store had one English picture serving all of them. That is the point of drawing it rather than replacing it: a picture of the app is worth what the build it came off is worth, and a listing asset nothing regenerates is one nobody notices going stale. This one took three releases. `store_screenshots.py` checks it the way it checks a screenshot - 1024x500 exactly, present in every locale, or the set is not a set - and stages it to `<locale>/images/featureGraphic.png`. `skip_upload_images` becomes `!captured`, so it rides the rule the screenshots already ride: no capture, nothing uploaded, the store keeps what it has. The launcher icon is not staged and supply does not touch what it cannot find, so it stays where it is - its own job, as before. Checked against a full set built out of the local en-US capture: 285 files staged into the right directories, and both new failure modes reported rather than shipped - a missing feature graphic and a missing tablet screenshot. All fifteen headlines were rendered and every one fits its column and clears the phone. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DteBNWfCVJ7KueHfTwyo8v
Nine passages saying what used to be the case - the pre-4.14 sideload's application id, the fastlane lanes the release workflow replaced, v4.9.0's failed tag push, the padded two-part version, the hand counted version codes, the GPL this carried before - are gone. Each rule they explained stays; what went is the account of how it came to be one, which the git history already holds. The store's pictures are all generated now, so what is left in the tree are icons: `icon-web.png` from 2018, superseded by the 2021 icon and referenced nowhere, and four `ic_launcher.png` under the androidTest resources from the 2017 gradle port, which no test apk has ever declared an icon to use. `ic_launcher-playstore.png` stays though nothing reads it either: the foregrounds are per-density PNGs with no vector behind them, so it is the only 512 render of the shipping icon, and Play's listing wants one. The stale copy in `fastlane/metadata` stays as the placeholder its README describes. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HN3brSERAZubtihhrVf5we
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two listing assets the release never touched, both of them still pictures of the app
as it looked before the 4.14 redesign. Found checking the 4.16.0 listing in the
console.
The 7" tablet slot held five pictures of the old app
sevenInchScreenshotswas deliberately left out of the staging table:Play does fall back - where the slot is empty. This one was not, so it went on
showing the pre-4.14 landing screen through every release that rewrote the other two
slots.
The tablet's captures go into both tablet slots now. A 1600x2560 picture is inside
the 7" slot's limits as well as the 10" one's, so nothing new is photographed and the
emulator hour does not move -
DIRECTORIESmaps a device to a tuple of slots insteadof one, and
stage()copies into each. Supply callsclear_screenshotsper slotbefore uploading, so the five old pictures are deleted rather than left underneath.
The feature graphic is drawn now, not committed
fastlane/metadata/android/en-US/images/featureGraphic.pngwas the one listing assetthe release uploaded nothing over - checked in, 1024x500, the only en-US one, and
served by Play in all fifteen storefronts. It showed the old UI inside mockup phones.
It is drawn out of the same parts a screenshot is framed from - the ground, the
dashed line, the drawn Pixel and the odt/ods/odp tabs - laid out across the canvas
instead of down. Its capture is the first screenshot's
phone-01-recents, and itsheadline that screen's, so there is no second line of copy to write and none to
translate fifteen times. One per locale, where the store had one English picture
for all of them.
That is the point of drawing it rather than replacing it. A picture of the app is
worth what the build it came off is worth, and a listing asset nothing regenerates is
one nobody notices going stale - this one managed three releases. To look at it:
or the
framed-phoneartifact of any release run, dry run included.Around it
store_screenshots.pychecks it the way it checks a screenshot - 1024x500 exactly,present in every locale, or the set is not a set - and stages it to
<locale>/images/featureGraphic.png, which is where supply reads one from.skip_upload_imagesbecomes!captured, so it rides the rule the screenshotsalready ride: no capture, nothing uploaded, the store keeps what it has. A wedged
emulator still costs the release its pictures and nothing else.
it stays where it is. Still its own job.
fastlane/framed/<locale>/andrides the artifacts that are already there.
How it was checked
directories,
phoneScreenshots/tenInchScreenshots/sevenInchScreenshotsandthe graphic beside them.
de-DE: no featureGraphic.png,fr-FR: no tablet 03-sheet.Devanagari and CJK included.
headline_middledefaults to themiddle of the canvas, which is where they already were.
🤖 Generated with Claude Code