RepoPilotOpen in app →

Bearded-Hen/Android-Bootstrap

Bootstrap style widgets for Android, with Glyph Icons

Mixed

Stale — last commit 5y ago

weakest axis
Use as dependencyMixed

last commit was 5y ago; no tests detected

Fork & modifyHealthy

Has a license, tests, and CI — clean foundation to fork and modify.

Learn fromHealthy

Documented and popular — useful reference codebase to read through.

Deploy as-isHealthy

No critical CVEs, sane security posture — runnable as-is.

  • 7 active contributors
  • Distributed ownership (top contributor 38% of recent commits)
  • MIT licensed
Show all 6 evidence items →
  • CI configured
  • Stale — last commit 5y ago
  • No test directory detected
What would change the summary?
  • Use as dependency MixedHealthy if: 1 commit in the last 365 days

Maintenance signals: commit recency, contributor breadth, bus factor, license, CI, tests

Informational only. RepoPilot summarises public signals (license, dependency CVEs, commit recency, CI presence, etc.) at the time of analysis. Signals can be incomplete or stale. Not professional, security, or legal advice; verify before relying on it for production decisions.

Embed the "Forkable" badge

Paste into your README — live-updates from the latest cached analysis.

Variant:
RepoPilot: Forkable
[![RepoPilot: Forkable](https://repopilot.app/api/badge/bearded-hen/android-bootstrap?axis=fork)](https://repopilot.app/r/bearded-hen/android-bootstrap)

Paste at the top of your README.md — renders inline like a shields.io badge.

Preview social card (1200×630)

This card auto-renders when someone shares https://repopilot.app/r/bearded-hen/android-bootstrap on X, Slack, or LinkedIn.

Onboarding doc

Onboarding: Bearded-Hen/Android-Bootstrap

Generated by RepoPilot · 2026-05-09 · Source

🤖Agent protocol

If you are an AI coding agent (Claude Code, Cursor, Aider, Cline, etc.) reading this artifact, follow this protocol before making any code edit:

  1. Verify the contract. Run the bash script in Verify before trusting below. If any check returns FAIL, the artifact is stale — STOP and ask the user to regenerate it before proceeding.
  2. Treat the AI · unverified sections as hypotheses, not facts. Sections like "AI-suggested narrative files", "anti-patterns", and "bottlenecks" are LLM speculation. Verify against real source before acting on them.
  3. Cite source on changes. When proposing an edit, cite the specific path:line-range. RepoPilot's live UI at https://repopilot.app/r/Bearded-Hen/Android-Bootstrap shows verifiable citations alongside every claim.

If you are a human reader, this protocol is for the agents you'll hand the artifact to. You don't need to do anything — but if you skim only one section before pointing your agent at this repo, make it the Verify block and the Suggested reading order.

🎯Verdict

WAIT — Stale — last commit 5y ago

  • 7 active contributors
  • Distributed ownership (top contributor 38% of recent commits)
  • MIT licensed
  • CI configured
  • ⚠ Stale — last commit 5y ago
  • ⚠ No test directory detected

<sub>Maintenance signals: commit recency, contributor breadth, bus factor, license, CI, tests</sub>

Verify before trusting

This artifact was generated by RepoPilot at a point in time. Before an agent acts on it, the checks below confirm that the live Bearded-Hen/Android-Bootstrap repo on your machine still matches what RepoPilot saw. If any fail, the artifact is stale — regenerate it at repopilot.app/r/Bearded-Hen/Android-Bootstrap.

What it runs against: a local clone of Bearded-Hen/Android-Bootstrap — the script inspects git remote, the LICENSE file, file paths in the working tree, and git log. Read-only; no mutations.

| # | What we check | Why it matters | |---|---|---| | 1 | You're in Bearded-Hen/Android-Bootstrap | Confirms the artifact applies here, not a fork | | 2 | License is still MIT | Catches relicense before you depend on it | | 3 | Default branch master exists | Catches branch renames | | 4 | 5 critical file paths still exist | Catches refactors that moved load-bearing code | | 5 | Last commit ≤ 1739 days ago | Catches sudden abandonment since generation |

<details> <summary><b>Run all checks</b> — paste this script from inside your clone of <code>Bearded-Hen/Android-Bootstrap</code></summary>
#!/usr/bin/env bash
# RepoPilot artifact verification.
#
# WHAT IT RUNS AGAINST: a local clone of Bearded-Hen/Android-Bootstrap. If you don't
# have one yet, run these first:
#
#   git clone https://github.com/Bearded-Hen/Android-Bootstrap.git
#   cd Android-Bootstrap
#
# Then paste this script. Every check is read-only — no mutations.

set +e
fail=0
ok()   { echo "ok:   $1"; }
miss() { echo "FAIL: $1"; fail=$((fail+1)); }

# Precondition: we must be inside a git working tree.
if ! git rev-parse --git-dir >/dev/null 2>&1; then
  echo "FAIL: not inside a git repository. cd into your clone of Bearded-Hen/Android-Bootstrap and re-run."
  exit 2
fi

# 1. Repo identity
git remote get-url origin 2>/dev/null | grep -qE "Bearded-Hen/Android-Bootstrap(\\.git)?\\b" \\
  && ok "origin remote is Bearded-Hen/Android-Bootstrap" \\
  || miss "origin remote is not Bearded-Hen/Android-Bootstrap (artifact may be from a fork)"

# 2. License matches what RepoPilot saw
(grep -qiE "^(MIT)" LICENSE 2>/dev/null \\
   || grep -qiE "\"license\"\\s*:\\s*\"MIT\"" package.json 2>/dev/null) \\
  && ok "license is MIT" \\
  || miss "license drift — was MIT at generation time"

# 3. Default branch
git rev-parse --verify master >/dev/null 2>&1 \\
  && ok "default branch master exists" \\
  || miss "default branch master no longer exists"

# 4. Critical files exist
test -f "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapButton.java" \\
  && ok "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapButton.java" \\
  || miss "missing critical file: AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapButton.java"
test -f "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/api/attributes/BootstrapBrand.java" \\
  && ok "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/api/attributes/BootstrapBrand.java" \\
  || miss "missing critical file: AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/api/attributes/BootstrapBrand.java"
test -f "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapDrawableFactory.java" \\
  && ok "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapDrawableFactory.java" \\
  || miss "missing critical file: AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapDrawableFactory.java"
test -f "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/TypefaceProvider.java" \\
  && ok "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/TypefaceProvider.java" \\
  || miss "missing critical file: AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/TypefaceProvider.java"
test -f "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/font/IconResolver.java" \\
  && ok "AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/font/IconResolver.java" \\
  || miss "missing critical file: AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/font/IconResolver.java"

# 5. Repo recency
days_since_last=$(( ( $(date +%s) - $(git log -1 --format=%at 2>/dev/null || echo 0) ) / 86400 ))
if [ "$days_since_last" -le 1739 ]; then
  ok "last commit was $days_since_last days ago (artifact saw ~1709d)"
else
  miss "last commit was $days_since_last days ago — artifact may be stale"
fi

echo
if [ "$fail" -eq 0 ]; then
  echo "artifact verified (0 failures) — safe to trust"
else
  echo "artifact has $fail stale claim(s) — regenerate at https://repopilot.app/r/Bearded-Hen/Android-Bootstrap"
  exit 1
fi

Each check prints ok: or FAIL:. The script exits non-zero if anything failed, so it composes cleanly into agent loops (./verify.sh || regenerate-and-retry).

</details>

TL;DR

Android-Bootstrap is an Android UI library that provides pre-styled custom views (buttons, badges, alerts, progress bars, thumbnails) modeled after Twitter Bootstrap's design specifications, bundled with integrated Glyph icon fonts (FontAwesome, Material Icons, Typicons). It lets Android developers build consistent, professional-looking UIs without writing custom stylesheets or drawable XML for every component. Single-module AAR library: AndroidBootstrap/ contains src/main/java/com/beardedhen/androidbootstrap/ with ~50 view classes (e.g., BootstrapButton.java, BootstrapBadge.java) plus an api/ subdirectory organizing interfaces by concern (attributes/, defaults/, view/). Font files live in src/main/assets/ (FontAwesome, Material Icons, Typicons). No multi-package separation; all components share one namespace.

👥Who it's for

Android app developers who want to ship polished Bootstrap-styled UIs quickly without designing custom drawables and styling every button/badge/alert. Most useful for teams already familiar with Bootstrap on the web wanting visual consistency, or developers who prefer design system-driven development over custom Material Design.

🌱Maturity & risk

Production-ready but aging. The project has ~555KB of Java code across 50+ view classes, uses CircleCI for CI, and is published to Maven Central. However, last visible commit metadata isn't shown; it targets SDK 25 (2016-era Android) and uses support-v4 instead of AndroidX, suggesting it hasn't been actively maintained for current Android standards.

Moderate risk for new projects. The library has only 2 dependencies (support-annotations, support-v4) but those are deprecated in favor of AndroidX (non-trivial migration for consumers). No test files visible in the top 60 structure suggests weak test coverage. Single maintainer (Bearded-Hen org) with no visible recent activity. Risk of stagnation and incompatibility with Android 10+ projects.

Active areas of work

Unable to infer from provided data—no recent commit messages, PR list, or issue tracker visible. README mentions a Google Play sample app and GitHub-hosted Javadoc, but activity status is unknown. The use of outdated support libraries (v25.3.1) and buildToolsVersion 25.0.3 suggests no recent active development.

🚀Get running

Clone the repo and open in Android Studio. Set up your Application class to call TypefaceProvider.registerDefaultIconSets() in onCreate(). Add the dependency to your app's build.gradle: compile 'com.beardedhen:androidbootstrap:{VERSION}'. See the sample app (referenced in README as available on Google Play) for example layouts.

Daily commands: This is a library, not an executable app. To build: ./gradlew build. To test against the sample app (referenced in README): clone the repo, open in Android Studio, run the sample app module on an emulator or device. Alternatively, add the published Maven Central artifact to an existing Android project's build.gradle.

🗺️Map of the codebase

  • AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapButton.java — Primary Bootstrap button widget implementation—foundational component used throughout the library and sample apps
  • AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/api/attributes/BootstrapBrand.java — Core enum defining Bootstrap color/brand scheme (primary, success, danger, etc.)—all styled components depend on this
  • AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapDrawableFactory.java — Central factory for generating themed drawable backgrounds—critical for consistent styling across all components
  • AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/TypefaceProvider.java — Singleton managing font asset caching and lazy-loading from TTF files—required for icon rendering
  • AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/font/IconResolver.java — Resolves icon glyphs across multiple icon sets (FontAwesome, Material, Typicons)—enables polymorphic icon usage
  • AndroidBootstrap/src/main/res/values/attrs.xml — XML attribute definitions for all Bootstrap custom views—required for XML layout inflation and IDE support
  • AndroidBootstrap/build.gradle — Library build configuration including SDK versions, dependencies, and version management

🛠️How to make changes

Add a New Bootstrap Widget

  1. Create a new View subclass in AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/, extending View or ViewGroup. Implement interfaces from api/view/ (e.g., BootstrapBrandView, BootstrapSizeView) to expose brand and size styling (AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapButton.java)
  2. Define XML attributes for the widget in attrs.xml, using declare-styleable with attr entries for brand, size, and widget-specific options (AndroidBootstrap/src/main/res/values/attrs.xml)
  3. In the widget's constructor, call TypefaceProvider and BootstrapDrawableFactory to apply styled backgrounds and fonts based on brand/size attributes (AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/BootstrapDrawableFactory.java)
  4. Add sample usage in sample/src/main/java/com/fractalwrench/androidbootstrap/sample/ with a new Example activity demonstrating all brand and size variations (sample/src/main/java/com/fractalwrench/androidbootstrap/sample/BootstrapButtonExample.java)

Add a New Icon Set

  1. Place the TTF font file in AndroidBootstrap/src/main/assets/ (e.g., myicons-v1.0.ttf) (AndroidBootstrap/src/main/assets/fontawesome-webfont-v470.ttf)
  2. Create an IconSet enum subclass in AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/font/, mapping icon names to Unicode glyph values (AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/font/FontAwesome.java)
  3. Register the icon set in IconResolver.java by adding it to the list of resolvable icon sources (AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/IconResolver.java)
  4. Create attrs_myicons.xml in res/values/ defining styleable attributes for the new icon enum (AndroidBootstrap/src/main/res/values/attrs_font_awesome.xml)

Customize Bootstrap Colors & Dimensions

  1. Edit AndroidBootstrap/src/main/res/values/colors.xml to define or override Bootstrap brand colors (primary, success, danger, info, warning, inverse) (AndroidBootstrap/src/main/res/values/colors.xml)
  2. Edit AndroidBootstrap/src/main/res/values/dimens.xml to adjust padding, margins, border widths, and text sizes (AndroidBootstrap/src/main/res/values/dimens.xml)
  3. If changing size constants, update DefaultBootstrapSize.java to reflect new SP/DP values (AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/api/defaults/DefaultBootstrapSize.java)

Create a New Bootstrap Button Variant

  1. In BootstrapButton.java, add a new ButtonMode enum value (e.g., OUTLINE, ROUNDED) in the api/defaults/ButtonMode.java (AndroidBootstrap/src/main/java/com/beardedhen/androidbootstrap/api/defaults/ButtonMode.java)
  2. Add XML attribute definition in attrs.xml using an attr with format enum, listing the new mode (AndroidBootstrap/src/main/res/values/attrs.xml)
  3. Update BootstrapDrawableFactory.getButtonDrawable() or create a

🪤Traps & gotchas

(1) TypefaceProvider.registerDefaultIconSets() must be called in Application.onCreate() or icon rendering will fail silently. (2) Library targets SDK 25 and uses deprecated support-v4 library—will not compile against AndroidX projects without migration. (3) No AndroidManifest.xml permissions visible, but accessing assets requires proper asset folder setup. (4) Font files are embedded as assets; ensure they load in your build variant or icon rendering breaks. (5) ProGuard configuration in proguard-project.txt may strip reflection-based font lookups if rules aren't inherited by consuming apps.

💡Concepts to learn

  • Typeface-based Icon Systems — This library embeds FontAwesome, Material Icons, and Typicons as TTF fonts loaded dynamically—understanding how glyph fonts work is key to extending IconResolver and adding custom icon sets.
  • Android Drawable Factory Pattern — BootstrapDrawableFactory generates UI drawables programmatically based on brand/size/state rather than XML—this pattern avoids hundreds of PNG assets and enables dynamic theming.
  • Custom View Attributes (styleable) — Bootstrap views define custom XML attributes (app:bootstrapBrand, app:bootstrapSize, app:roundedCorners) processed via AttributeSet in constructors—core to the library's declarative styling model.
  • ViewGroup Composition and Theming Inheritance — BootstrapButtonGroup and BootstrapProgressBarGroup apply brand/size to child views en masse; understanding this pattern is essential for maintaining theme consistency across complex layouts.
  • Support Library Deprecated Patterns — The library uses deprecated support-v4 instead of AndroidX; understanding why this blocks integration and how to migrate is critical for modernizing the codebase.
  • Bootstrap CSS Framework Design System Porting — The entire library is a literal port of Twitter Bootstrap's color palette, sizing scale, and component shapes to Android—understanding Bootstrap's design decisions helps explain why components are structured this way.
  • material-components/material-components-android — Modern alternative providing Material Design 3 styled components with similar theming model; recommended for new Android projects
  • googlesamples/android-topeka — Google's Material Design sample app; demonstrates modern styling patterns as an alternative to Bootstrap-style theming
  • twilio/twilio-android-sdk — Companion ecosystem example: integrates UI libraries for Android apps requiring consistent theming alongside third-party services
  • erikwt/PullToRefresh-ListView — Contemporary Android UI library (pre-AndroidX era) solving similar 'polish UX without boilerplate' problem with different components

🪄PR ideas

To work on one of these in Claude Code or Cursor, paste: Implement the "<title>" PR idea from CLAUDE.md, working through the checklist as the task list.

Add unit tests for BootstrapDrawableFactory and DrawableUtils

The repo has no visible test directory despite containing complex drawable generation logic in BootstrapDrawableFactory.java and DrawableUtils.java. These utility classes handle styling and appearance of all Bootstrap widgets. Adding unit tests would catch regressions in drawable rendering, color application, and state changes across different API levels.

  • [ ] Create AndroidBootstrap/src/test/java/com/beardedhen/androidbootstrap directory structure
  • [ ] Add unit tests for DrawableUtils.java covering color conversion, padding, and shape operations
  • [ ] Add unit tests for BootstrapDrawableFactory.java covering state list generation and brand/size combinations
  • [ ] Integrate test execution into build.gradle and push.gradle CI pipeline

Add GitHub Actions CI workflow to replace CircleCI badge

The README references CircleCI but there's no visible GitHub Actions workflow file (.github/workflows/). Modern Android projects benefit from GitHub Actions for automated testing, lint checks, and library publishing on each PR/merge. This would modernize the CI/CD and make the build process more transparent.

  • [ ] Create .github/workflows/android-build.yml with steps for gradlew build, lint, and unit tests
  • [ ] Configure workflow to run on push to develop and all PRs
  • [ ] Add Gradle caching to improve CI speed
  • [ ] Update README to reference GitHub Actions badge instead of CircleCI (or alongside it)

Add attribute documentation and XML schema hints for attrs.xml files

The res/values/attrs_*.xml files define custom attributes for FontAwesome, MaterialIcons, and Typicons (attrs_font_awesome.xml, attrs_materialIcon.xml, attrs_typicons.xml), but lack documentation comments explaining valid values and usage. This causes IDE autocomplete to be unhelpful for developers using these views. Adding JavaDoc/documentation strings would improve the developer experience significantly.

  • [ ] Add <attr> description comments in AndroidBootstrap/src/main/res/values/attrs_font_awesome.xml documenting icon name format and valid values
  • [ ] Add similar documentation to attrs_materialIcon.xml and attrs_typicons.xml with icon set references
  • [ ] Create a new ADD_ICON_ATTRIBUTES.md guide documenting how to add new icon sets with proper attribute definitions
  • [ ] Update ADD_FONT.md to reference the new attribute documentation guide

🌿Good first issues

  • Add unit tests for BootstrapDrawableFactory—currently no test files visible in the repo structure. Start by testing that button backgrounds are generated correctly for each brand/size/state combination.
  • Migrate from deprecated support-v4 library to AndroidX (androidx.appcompat, androidx.support.v4). This is blocking modern Android projects; update build.gradle dependencies, imports in all ~50 view classes, and update minSdkVersion if needed.
  • Add XML documentation examples to each view class (BootstrapButton, BootstrapBadge, etc.). Current Javadoc lacks concrete XML layout snippets; add sample code blocks showing brand, size, and icon usage for each component.

Top contributors

Click to expand

📝Recent commits

Click to expand
  • b3d62cc — Update README.md (jamie-beardedhen)
  • b6a2e11 — Merge pull request #204 from fractalwrench/master (jamie-beardedhen)
  • 625f889 — Merge branch 'master' of https://github.com/fractalwrench/Android-Bootstrap (fractalwrench)
  • 7ecc282 — increment version (fractalwrench)
  • edc75f6 — update gradle dependencies (fractalwrench)
  • fb32eca — fix #192 (fractalwrench)
  • 08d0a35 — Merge pull request #5 from Bearded-Hen/master (fractalwrench)
  • 838845d — Merge pull request #202 from knightkill/awesometv-emptytext (jamie-beardedhen)
  • 858cf0e — Merge pull request #201 from knightkill/update-fontawesome (jamie-beardedhen)
  • 0edd1ae — Make AwesomeTextView disappear when empty text or bootstrapText (knightkill)

🔒Security observations

The Android-Bootstrap library has moderate security concerns primarily stemming from outdated dependencies and build tools. The most critical issues are the use of deprecated Android Support Libraries (v25.3.1 from 2017) and build tools (25.0.3), both of which are no longer receiving security updates. While the codebase itself appears to be a UI widget library without obvious injection vulnerabilities, the outdated dependencies pose significant risks. Immediate action should be taken to migrate to AndroidX and update all build tools and dependencies to current stable versions. The library lacks explicit security configurations such as Lint security checks and R8 minification setup for releases.

  • High · Outdated Android Support Library Dependencies — AndroidBootstrap/build.gradle (dependencies section). The project uses Android Support Library version 25.3.1 (released in 2017). This version is severely outdated and contains multiple known security vulnerabilities. Support libraries should be updated to AndroidX and the latest stable versions. Fix: Migrate to AndroidX and update to the latest stable versions: 'androidx.appcompat:appcompat:1.6.x' and 'androidx.support:support-annotations:1.6.x'. Run 'Refactor > Migrate to AndroidX' in Android Studio.
  • High · Outdated Build Tools Version — AndroidBootstrap/build.gradle (buildToolsVersion). Build tools version 25.0.3 (from 2017) is outdated and may lack security patches. Modern Android development requires more recent build tools (minimum 30.0.0+). Fix: Update buildToolsVersion to at least '34.0.0' or the latest stable version to ensure security patches and compatibility.
  • Medium · Missing Proguard/R8 Configuration in Library Build — AndroidBootstrap/build.gradle and AndroidBootstrap/proguard-project.txt. The project contains 'proguard-project.txt' but there is no evidence of R8/ProGuard being properly configured in the build.gradle for library obfuscation and minification. This could expose sensitive code patterns. Fix: Ensure R8 is enabled with proper configuration in build.gradle: add 'minifyEnabled true' for release builds and reference the proguard rules properly. Verify proguard-project.txt contains comprehensive rules for the library.
  • Medium · No Explicit Security Provider Update — AndroidBootstrap/build.gradle (targetSdkVersion, minSdkVersion). The library targets older SDK versions without explicit security provider updates for cryptographic operations. If any cryptographic operations are performed in the codebase, they may use insecure defaults. Fix: Update minSdkVersion to at least API 21, and ensure targetSdkVersion matches the latest available. If using cryptographic functions, explicitly call 'Security.insertProviderAt(new BouncyCastleProvider(), 1)' or use Google's Conscrypt provider.
  • Low · Missing Security Lint Configuration — AndroidBootstrap/build.gradle. No Android Lint security configuration is evident in the build files. This means the build process may not catch potential security issues automatically. Fix: Add lint configuration to catch security issues: configure 'lintOptions' with proper checks enabled, especially 'MissingPermission', 'ExportedContentProvider', 'ExportedReceiver', and 'ExportedService'.
  • Low · Gradle Wrapper JAR Included in Repository — gradle/wrapper/gradle-wrapper.jar. The gradle-wrapper.jar is included in the repository, which is generally not recommended for security reasons as it could potentially be tampered with. Fix: Add 'gradle/wrapper/gradle-wrapper.jar' to .gitignore and rely on the gradle-wrapper.properties file instead. Users will download the wrapper automatically.

LLM-derived; treat as a starting point, not a security audit.


Generated by RepoPilot. Verdict based on maintenance signals — see the live page for receipts. Re-run on a new commit to refresh.

Mixed signals · Bearded-Hen/Android-Bootstrap — RepoPilot