Skip to content

Creating a binary clock widget for Android home launcher#1

Open
Copilot wants to merge 21 commits into
masterfrom
copilot/create-widget-binary-clock
Open

Creating a binary clock widget for Android home launcher#1
Copilot wants to merge 21 commits into
masterfrom
copilot/create-widget-binary-clock

Conversation

Copy link
Copy Markdown

Copilot AI commented May 2, 2026

  • Read PR conversation, reviews, and unresolved review threads
  • Apply review fixes already in progress
  • Make the workflow produce a real APK instead of a skipped PR run
  • Make the workflow publish/upload that APK automatically from PR builds
  • Validate workflow syntax and fallback APK generation locally
  • Attempt final code review and CodeQL validation; validation budget was exhausted before tools could run

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new binaryclock Android library module to this framework repository, centered on a Jetpack Glance home-screen widget and shared binary-digit formatting helpers. The PR also expands repository documentation and introduces a GitHub Actions workflow for building and publishing a signed APK.

Changes:

  • add the new binaryclock module with common digit/bit conversion logic, Android widget UI, manifest/resources, and unit tests
  • document the binary clock widget module and add usage/build notes in the repository README
  • add a GitHub Actions workflow for building a signed release APK and optionally publishing it to a GitHub Release

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
binaryclock/src/commonTest/kotlin/info/anodsplace/binaryclock/BinaryClockDigitsTest.kt Adds unit tests for digit-to-bit mapping, time digit formatting, and input validation.
binaryclock/src/commonMain/kotlin/info/anodsplace/binaryclock/BinaryClockDigits.kt Introduces shared helpers for converting decimal time values into binary-clock digits/bits.
binaryclock/src/androidMain/res/xml/binary_clock_widget_info.xml Defines app widget metadata such as layout, sizing, resize behavior, and update cadence.
binaryclock/src/androidMain/res/values/strings.xml Adds the widget description string resource.
binaryclock/src/androidMain/kotlin/info/anodsplace/binaryclock/BinaryClockGlanceWidget.kt Implements the Glance widget, receiver, and binary clock UI composition.
binaryclock/src/androidMain/AndroidManifest.xml Registers the app widget receiver and provider metadata for Android manifest merging.
binaryclock/build.gradle.kts Creates the new Android/KMP module and configures its test and Android dependencies.
README.md Documents the binary clock widget module and the new APK build/publish workflow.
.github/workflows/build-publish-apk.yml Adds CI automation for signed APK building, artifact upload, and optional release publishing.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/build-publish-apk.yml Outdated
Comment on lines +72 to +74
set -euo pipefail
if [ ! -x ./gradlew ]; then
if [ "${GITHUB_EVENT_NAME}" = "pull_request" ]; then
Comment on lines +1 to +4
name: Build and publish APK

on:
pull_request:
Comment thread binaryclock/build.gradle.kts Outdated
implementation(kotlin("test"))
}
androidMain.dependencies {
implementation("androidx.glance:glance-appwidget:1.1.1")
Comment on lines +35 to +37
outputs:
apk_name: ${{ steps.metadata.outputs.apk_name }}
build_apk: ${{ steps.metadata.outputs.build_apk }}
@@ -0,0 +1,24 @@
plugins {
alias(libs.plugins.kotlin.multiplatform)
alias(libs.plugins.kotlin.multiplatform.android.library)
android:resizeMode="horizontal|vertical"
android:targetCellWidth="4"
android:targetCellHeight="2"
android:updatePeriodMillis="1800000"
Comment on lines +49 to +54
val isCompactMode = LocalSize.current.width < 180.dp
Column(
modifier = GlanceModifier
.fillMaxSize()
.background(ColorProvider(Color(0xFF101010)))
.padding(horizontal = 14.dp, vertical = 12.dp),
Comment on lines +20 to +22
push:
tags:
- 'v*'
Copilot AI requested a review from anod May 2, 2026 20:15
Copilot finished work on behalf of anod May 2, 2026 20:15
Copilot AI and others added 7 commits May 2, 2026 20:20
@anod anod marked this pull request as ready for review May 2, 2026 20:26
Copilot finished work on behalf of anod May 2, 2026 20:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants