Skip to content

Conversation

@FlynnD273
Copy link
Contributor

No description provided.

versionName = "1.0.0"

testInstrumentationRunner = "com.matejdro.micropebble.instrumentation.TestRunner"
minSdk = 26
Copy link
Owner

Choose a reason for hiding this comment

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

This is not necessary, it will reuse the nubmer from the android-module-commons.gradle.kts

buildFeatures {
androidResources = true
}
defaultConfig {
Copy link
Owner

Choose a reason for hiding this comment

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

This is not necessary, it will reuse the nubmer from the android-module-commons.gradle.kts

@matejdro
Copy link
Owner

matejdro commented Jan 22, 2026

I think this is a good start, but I'm almost sure that it will not work as-is because app uses a lot of APIs that are not available in pre-31

@FlynnD273
Copy link
Contributor Author

I couldn't get it to crash in the emulator, but I will test further on actual hardware in the next couple of days. I'm pretty sure I have an Android 11 phone somewhere.

@matejdro
Copy link
Owner

matejdro commented Jan 22, 2026

(I hope you don't mind me pushing a CI fix to your branch)

EDIT: Sorry, I thought I could fix it, but there is some other underlying issue. Until I get to it, you will unfortunately have to check the action logs to see the failed lint issues.

@FlynnD273
Copy link
Contributor Author

Alright. Android 11 now works, pairs to the watch and all that. Newer Android also works too still, currently running this build on my phone.

}
}

val bluetoothPermission = rememberMultiplePermissionsState(
Copy link
Owner

Choose a reason for hiding this comment

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

Can we try moving this into a separate method? Now it's a bit long to be nested inside Composable

Copy link
Contributor Author

Choose a reason for hiding this comment

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

To be honest, I'm not sure how I'd do that easily 😅 I'll probably take another crack at it tomorrow when I've got more sleep

Copy link
Owner

Choose a reason for hiding this comment

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

Looks good to me

@FlynnD273
Copy link
Contributor Author

How do I re-run the CI check? It looks like npm failed, not any linting error this time.

@matejdro
Copy link
Owner

How do I re-run the CI check? It looks like npm failed, not any linting error this time.

Not sure if you have permissions, but the button is here:

image

@FlynnD273
Copy link
Contributor Author

Should double-check the screenshot tests — I think they're correct now but I'm not entirely certain. Also the installed watchapps screen shows a bar about a third of the width of the column instead of the full bar like before, it's a side effect of switching to PrimaryTabRow instead of the deprecated TabRow

@FlynnD273
Copy link
Contributor Author

Should double-check the screenshot tests — I think they're correct now but I'm not entirely certain. Also the installed watchapps screen shows a bar about a third of the width of the column instead of the full bar like before, it's a side effect of switching to PrimaryTabRow instead of the deprecated TabRow

Actually it looks like the screenshot changes also include things gaining an accent colour and other things losing the accent colour. I'm not sure what's up with that, obviously it's a change due to this PR. Maybe the change to Theme.kt? I don't know what Android version the screenshots are generated on, could that have changed? I'm unfamiliar with how the screenshots are actually generated

@matejdro
Copy link
Owner

matejdro commented Jan 24, 2026

Yeah screenshots look fine. My guess is that screenshots are made on a fake lower SDK version, so the colors are slightly different.

What concerns me, are the two things using the ComponentFactory, that got disabled on the lower SDK versions without providing an alternative:

  • the boot receiver com.matejdro.micropebble.bluetooth.service.ServiceBootStarter - can you check that there are no errors/crashes on pre-android-9 on phone boot?
  • the keepalive service com.matejdro.micropebble.bluetooth.service.WatchConnectionService - can you check that the app does not crash or throw any errors when connecting to a watch on pre-android-9 device?

If you do not have pre-android-9 device to test, we should increase the min SDK back to a device that we do have and we can test it works correctly (presumably at most Android 11 device?).

@FlynnD273
Copy link
Contributor Author

Hmm I think the oldest device I have is an Android 11 phone. Maybe I bump up the minSDK to 28 instead?

@matejdro
Copy link
Owner

Yes, I think that would be the best.

@github-actions
Copy link
Contributor

Lint report

Results

Suppressed Results

Nothing here.

@github-actions
Copy link
Contributor

Lint report

Results

Suppressed Results

Nothing here.

@matejdro matejdro merged commit 51bbb4c into matejdro:master Jan 25, 2026
1 check passed
@matejdro
Copy link
Owner

Thanks!

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.

2 participants