Skip to content

Conversation

@vvb2060
Copy link
Collaborator

@vvb2060 vvb2060 commented Sep 30, 2025

No description provided.

Copy link

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

This PR adds support for downloading and patching images directly from URLs to Magisk, expanding installation options beyond local files. It also includes a complete rewrite of the payload processing logic using Java Channel APIs and protobuf support.

Key changes:

  • New download functionality with URL-based image patching
  • Complete rewrite of payload processing using protobuf
  • Added Java Channel-based data source implementation for efficient file/network operations

Reviewed Changes

Copilot reviewed 26 out of 26 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
app/gradle/libs.versions.toml Added protobuf and XZ compression dependencies
app/core/src/main/res/values/strings.xml Added UI strings for download functionality
app/core/src/main/proto/update_metadata.proto Added protobuf definitions for OTA payload parsing
app/core/src/main/java/com/topjohnwu/magisk/core/utils/DataSourceChannel.java New efficient data source abstraction for files and HTTP
app/core/src/main/java/com/topjohnwu/magisk/core/tasks/Payload.kt New payload processing implementation using protobuf
app/core/src/main/java/com/topjohnwu/magisk/core/tasks/ExtractImage.kt New image extraction logic for factory images and OTA packages
app/core/src/main/java/com/topjohnwu/magisk/core/tasks/MagiskInstaller.kt Updated installer with download support and simplified processing
app/apk/src/main/java/com/topjohnwu/magisk/dialog/DownloadDialog.kt New dialog for URL input validation
UI layouts Updated to support download option and fix console display issues

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

callback(it)
} ?: run {
doNotDismiss = true
editText.error = context.getString(R.string.download_dialog_title)
Copy link

Copilot AI Sep 30, 2025

Choose a reason for hiding this comment

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

Using the dialog title string as an error message is confusing and unhelpful. The error should use a descriptive message like 'Invalid URL format' or create a dedicated error string resource.

Suggested change
editText.error = context.getString(R.string.download_dialog_title)
editText.error = context.getString(R.string.download_dialog_invalid_url)

Copilot uses AI. Check for mistakes.
@topjohnwu topjohnwu added the next Planned for the release *after* the next release label Oct 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

next Planned for the release *after* the next release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants