Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ android {
minSdk = 26
targetSdk = 36
versionCode = 1
versionName = "0.0.7"
versionName = "0.0.75"

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
Expand Down
13 changes: 8 additions & 5 deletions app/src/main/java/com/baidaidai/rootless_store/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ class MainActivity : ComponentActivity(){

private var fileIntentUri: Uri? by mutableStateOf(null)

@RequiresApi(Build.VERSION_CODES.TIRAMISU)
@OptIn(ExperimentalMaterial3ExpressiveApi::class)
override fun onCreate(savedInstanceState: Bundle?) {

Expand Down Expand Up @@ -66,7 +65,6 @@ class MainActivity : ComponentActivity(){
}


@RequiresApi(Build.VERSION_CODES.TIRAMISU)
override fun onNewIntent(intent: Intent) {
super.onNewIntent(intent)
setIntent(intent)
Expand All @@ -75,12 +73,17 @@ class MainActivity : ComponentActivity(){
handleFileIntent(intent)
}

@RequiresApi(Build.VERSION_CODES.TIRAMISU)
private fun handleFileIntent(intent: Intent?) {
if (intent?.action != Intent.ACTION_SEND) {
this.fileIntentUri = null
}
val uri = intent?.getParcelableExtra(Intent.EXTRA_STREAM, Uri::class.java)
this.fileIntentUri = uri
val uri: Uri? = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
intent?.getParcelableExtra(Intent.EXTRA_STREAM, Uri::class.java)
} else {
@Suppress("DEPRECATION")
intent?.getParcelableExtra(Intent.EXTRA_STREAM)
}

fileIntentUri = uri
}
}
4 changes: 2 additions & 2 deletions app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<resources>
<string name="app_name">RootLess Store</string>
<string name="app_version">v0.0.7</string>
<string name="app_name">Rootless Store</string>
<string name="app_version">v0.0.75</string>
</resources>
69 changes: 69 additions & 0 deletions asset/markdown/release/v0.0.75.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# 隐式导入稳定性修复版

Welcome to Rootless Store v0.0.75!

This update is a small but important stability release focused on fixing the implicit ZIP import flow. In v0.0.75, Rootless Store improves Android version compatibility for shared file handling, resolves a crash in the launch flow, and includes a few consistency updates for naming and preview assets.

欢迎来到 Rootless Store v0.0.75!

这是一次体量不大、但很关键的稳定性修复更新,重点放在隐式 ZIP 导入流程上。v0.0.75 进一步完善了共享文件处理时的 Android 版本兼容性,修复了启动链路中的崩溃问题,并顺手补上了一些命名与预览资源的一致性调整。

---

### What's New in v0.0.75

* **Implicit ZIP Launch Fix**:
* **Crash Resolved**: Fixed a crash that could occur when Rootless Store was launched through an implicit ZIP/file-sharing flow.
* **Safer Intent Handling**: Improved how the app reads shared file URIs from incoming intents, making the import entry flow more robust.
* **Android Version Compatibility Improvements**:
* **API-Level Guard Added**: Added Android version checks when resolving shared file data, improving compatibility between newer and older Android versions.
* **Project Consistency Updates**:
* **App Naming Cleanup**: Adjusted the app name presentation for better naming consistency.
* **Shell Preview Refresh**: Updated the Shell screen preview image used in project materials.

### v0.0.75 更新内容

* **隐式 ZIP 启动修复**:
* **崩溃问题修复**: 修复了 Rootless Store 通过隐式 ZIP / 文件分享流程启动时可能发生的崩溃问题。
* **Intent 处理更稳健**: 优化了应用从外部 Intent 中读取共享文件 URI 的方式,让导入入口链路更加稳定。
* **Android 版本兼容性提升**:
* **新增 API 版本判断**: 在解析共享文件数据时补充了 Android 版本判断,增强了新旧 Android 版本之间的兼容性。
* **项目一致性更新**:
* **应用命名整理**: 对应用名称的展示形式做了统一调整,提升命名一致性。
* **Shell 预览图更新**: 更新了项目资料中使用的 Shell 页面预览图。

---

### Key Features

* **More Reliable Import Entry Flow**: Rootless Store now handles implicit ZIP/file launch paths more safely, reducing the chance of crashes during import.
* **Better Android Compatibility**: Shared file intent handling is now more defensive across different Android API levels.
* **Cleaner Project Presentation**: Naming and preview assets continue to be polished for a more consistent project identity.

### 主要功能

* **更可靠的导入入口流程**: Rootless Store 现在能更稳妥地处理隐式 ZIP / 文件启动路径,降低导入时发生崩溃的概率。
* **更好的 Android 兼容性**: 共享文件 Intent 的处理逻辑现在对不同 Android API 版本做了更稳健的兼容。
* **更统一的项目展示**: 命名与预览资源持续被整理和打磨,使项目形象更加统一。

---

### Known Issues & Future Plans

* This version is mainly a stability patch, so the focus is on fixing edge cases rather than introducing major new features.
* The broader plugin import flow, Shell workflow, and interaction details will continue to be refined in later versions.
* Future updates may continue improving file handoff reliability and cross-version Android behavior.

### 已知问题与未来计划

* 这个版本主要是稳定性补丁,因此重点放在边缘场景修复,而不是引入大规模新功能。
* 更完整的插件导入流程、Shell 工作流,以及交互细节,后续版本仍会继续完善。
* 未来更新会继续围绕文件接力的稳定性,以及跨 Android 版本行为的一致性展开优化。

---

### Thanks

Thank you for continuing to test and follow Rootless Store. Even small stability fixes like this are important steps toward making the platform more dependable.

感谢你持续体验并关注 Rootless Store。哪怕是这样的小型稳定性修复,也是让整个平台变得更可靠的重要一步。
Binary file modified asset/picture/ShellScreen.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading