AndroidPhotosExplainer

How DeDup 1.5.3 for Android flags burst photos and suggests a best shot

Rahul Pahuja·October 17, 2026·3 min read

In the Image Scanner, a group of look-alike photos can carry two extra marks: a BURST badge, and one photo suggested as the one to keep. This post lists the rules and signals the 1.5.3 code uses for both.

How a burst group is recognised

The burst check runs after the scan has built its groups, so it only looks at photos that already matched as exact copies or look-alikes. For each group the code:

  1. collects the date taken of every photo, leaving out photos that have none recorded;
  2. needs at least two dates, otherwise the group isn't a burst;
  3. sorts the dates and checks the gap between neighbours;
  4. flags the group as a burst only if no gap is longer than 3 seconds.

One longer gap means no flag. A photo with no date taken doesn't disqualify the group. It's just left out of the timing. The check doesn't read camera burst metadata or file names, only the dates.

A group flagged as a burst shows a BURST badge. The Sort and filter menu has a Bursts only option.

How the suggested photo is chosen

Every group with two or more photos gets a suggestion, burst or not. Each photo is scored from a reduced-size copy:

  • Sharpness. A measure of edge contrast (Laplacian variance) divided by 20, capped at 50 points.
  • Exposure. Minus 10 points if the average brightness is below 45 or above 225 on a 0 to 255 scale.
  • Faces. Google's ML Kit face detector runs on the copy. Each face adds 5 points, plus its smiling probability times 15 and its eyes-open probability times 10. If the detector gives no eye value, 0.5 is assumed for that eye.
  • File size. A small bonus that grows with file size. The code comments call it a tie-breaker.

A photo that can't be loaded scores 0.

Ranking then works in two steps. First, on Android 11 and newer, photos you've marked as favorites rank above photos you haven't. Android 10 and older skip that step. Second, higher score wins. The top photo becomes the suggestion and moves to the first position in its group.

What you see on screen

The first tile in a group is the suggested photo. In a burst group it's labelled BEST SHOT. In other groups it's labelled ML BEST CHOICE. Long-pressing a suggested photo opens a preview that lists "Best Shot". Auto Clear keeps the first photo of every group, which is this suggestion, and deletes the rest through Android's system delete prompt. Deletion is permanent, and DeDup's Trash screen isn't used by the scanners in 1.5.3.

What it doesn't use

The code doesn't look at resolution as such, location, who is in the photo, composition or whether the photo was edited. The score is fixed arithmetic plus a face detector, so treat it as a suggestion. Look at the group before you delete.

If you stop a scan early, this step doesn't run for the groups already on screen. The first tile then reads KEEP, and no burst badge appears.

Scope of this post

Checked against: DeDup 1.5.3 source code (Android).

Not tested on a device: how good the suggestions are on real photos, how the face detector behaves on different phones, whether favorites carry over from every gallery app, and how long the ranking step takes. The scoring weights and the 3-second limit are constants read from the code.