You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
💥 Remove Android-Split Screen Multi-Window-OShinHookRegistry pantanalums/assistantscreen module entry and hookDeveloperRegistrationBypass implementation in statusbar FluidCloud.kt@suqi8 (0eba6ac9)
✨ Add Android-Split Screen Multi-Window-App Filtering-Exclude system apps. When enabled, priority small window logic will not trigger for system apps @suqi8 (b8552178)
🩹 Fix Android-Split Screen Multi-Window-App Filtering changed to read the actual "launched target package" (taken from currentStartPackage cached by adjustOptionsForSmartMultiWindow, falling back to the sourceTask package) @suqi8 (e10e2894)
🩹 Fix Android-Split Screen Multi-Window-Black/white lists only take effect in "Global Priority Small Window" mode, preventing accidental intervention with notifications or launcher jumps @suqi8 (e10e2894)
🩹 Fix Android-Split Screen Multi-Window-Exclude system apps now applies to all force_* modes, UI no longer gates this switch @suqi8 (e10e2894)
🩹 Fix Android-Split Screen Multi-Window-adjustOptionsForSmartMultiWindow changed to passive mode: only appends flags when OPPO has decided to use zoom mode, avoiding the chain issue of "no effect + full screen animation" caused by actively constructing zoom options @suqi8 (e10e2894)
🩹 Fix Android-Split Screen Multi-Window-Notifications triggering floating window now use flags=5, launcher triggering floating window adds key_flexible_smart_across_task_jump extra @suqi8 (e10e2894)
✨ Add Launcher-Folders-Remove folder height limit, allowing folders to expand to their actually needed height (icon sizes are no longer squashed by screen height after customizing row counts) @suqi8 (7be4ead5)
🩹 Fix Launcher-Recent Tasks-Custom task corner radius not working. Changed to directly write normalTaskViewCornerRadius / splitTaskViewCornerRadius fields in the after hook of OplusTaskThumbnailViewImpl.calculateCornerRadius and trigger resetCornerRadiusArray, applying the corner radius immediately to both split screen and single task sides @suqi8 (d6a34b92)
🎛️ Control Center
⚡️ Optimize Control Center-Liquid Glass-Sensor callbacks now read @Volatile setting snapshots; acceleration path no longer fetches from prefs every frame @suqi8 (4bd76301)
⚡️ Optimize Control Center-Liquid Glass-Refraction/highlight RuntimeShader changed to a shared singleton, revoking all per-view instantiations @suqi8 (4bd76301)
⚡️ Optimize Control Center-Liquid Glass-Vibrancy ColorMatrixColorFilter is cached by saturation and reused for identical saturation values @suqi8 (4bd76301)
⚡️ Optimize Control Center-Liquid Glass-Foreground Drawable reuses RectF / Path / BlurMaskFilter, reducing allocations during drawing paths @suqi8 (4bd76301)
⚡️ Optimize Control Center-Liquid Glass-Notification card eligibility is cached per view, avoiding tracing the ancestor chain every frame @suqi8 (4bd76301)
⚡️ Optimize Control Center-Liquid Glass-Sensor callbacks merge invalidations in a single frame @suqi8 (4bd76301)
✨ Add Control Center-Liquid Glass-Fixed highlight angle. When the gravity sensor is off, the highlight is displayed at the set angle to save power @suqi8 (4bd76301)
✨ Add Control Center-Liquid Glass-Fixed highlight angle value (0°-360°) @suqi8 (4bd76301)
🩹 Fix Control Center-Liquid Glass-Orphaned highlights caused by RecyclerView recycling. Actively clean up overlay foreground when host view detaches @suqi8 (989ee11e)
🩹 Fix Control Center-Liquid Glass-Added hooks for OplusQsBaseToggleSliderLayout / OplusToggleSliderView / SquareDeviceCardView / SquareEntranceCardView. Brightness/volume sliders and device center cards can now also get the glass effect @suqi8 (989ee11e)
🩹 Fix Control Center-Liquid Glass-Active state background retains partial visibility so RuntimeShader has content to refract, preventing it from becoming completely transparent @suqi8 (989ee11e)
✨ Add Control Center-Liquid Glass-Closed state background opacity (Default 0%) @suqi8 (989ee11e)
✨ Add Control Center-Liquid Glass-Active state background opacity (Default 80%) @suqi8 (989ee11e)
🩹 Fix Control Center-Liquid Glass-QsHighlightTileViewBackgroundProxyImpl.updateBackground path revamped: when the original background is OPPO's AutoBlurDrawable and the incoming drawable is not, the active color block uses view.foreground, while the closed state still uses setBackground and clears the foreground, allowing small tiles to retain AutoBlur when active @suqi8 (89959cf8)
💥 Remove Control Center-Liquid Glass-Dark/active layer opacity sliders introduced in 918edbe1 (ineffective, UI noise) @suqi8 (89959cf8)
💥 Remove Control Center-Liquid Glass-Standalone hooks for brightness/volume sliders and device center cards, preventing internal views from being wrapped in the lens shader and causing internal distortion @suqi8 (3158ebfb)
✨ Add Control Center-Liquid Glass-Restored and refined closed state background opacity (Default 100%) / active state background opacity (Default 80%) sliders for easier manual tuning of AutoBlur and active state foreground @suqi8 (3158ebfb)
🩹 Fix Control Center-Liquid Glass-Reflection of getBgView in the after-hook of NotificationBackgroundViewExtImp.init changed to search up the parent class hierarchy, fixing NoSuchMethodException caused by KavaRef failing to directly hit the subclass @suqi8 (a1321299)
🔊 Status Bar
⚡️ Optimize Status Bar-Mobile Network Icon-Added power management check to skip non-interactive states @suqi8 (129ff9c0)
⚡️ Optimize Status Bar-Mobile Network Icon-Binding mechanism refactored to optimize network icon updates @suqi8 (6e4eba07)
♻️ Refactor Status Bar-Mobile Network Icon-Converged parameter types for IconViewBinder.bind@suqi8 (2f33b5ef)
⚡️ Optimize Status Bar-Fluid Cloud Lyrics-onMeasure changed to OnLayoutChangeListener, avoiding rebuilding listeners on every measure @suqi8 (b0e96416)
🔋 Status Bar Battery Bar
⚡️ Optimize Status Bar-Battery Bar-Replaced BlurMaskFilter with setShadowLayer, removed forced software layer, the paint no longer triggers native blur rebuilds every frame @suqi8 (77a08b6d)
✨ Add Status Bar-Battery Bar-Center display, extending from the center of the screen to both sides @suqi8 (77a08b6d)
✨ Add Status Bar-Battery Bar-Restrict display position, showing only on the lock screen or when the notification center is expanded @suqi8 (77a08b6d)
✨ Add Lock Screen-Music Spectrum Visualization-Only show when a media controller exists, avoiding unnecessary power consumption @suqi8 (77a08b6d)
🛠️ Change Lock Screen-Music Spectrum Visualization-Spectrum style/color mode option arrays migrated to @string references for internationalization @suqi8 (77a08b6d)
📱 System UI
⚡️ Optimize SystemUI-Navigation Bar Background Blur-Cached ViewRootManager per View, reusing the same BackgroundBlurDrawable across onLayout, modifying only via setter when parameters change @suqi8 (5f562925)
⚡️ Optimize SystemUI-Side Back Gesture-File stat in onDraw rate-limited to 1 second, the drawing hot path no longer triggers IO every frame @suqi8 (5559d3bd)
🩹 Fix SystemUI-Navigation Bar / System Prompt Background Blur-Extracted BlurDrawableCache to reuse ViewRootManager per View, actively clearing holder when view detaches, fixing SurfaceFlinger native blur layer memory leaks caused by creating new ViewRootManager + BackgroundBlurDrawable on every onLayout@suqi8 (0bd9d5c4)
💥 Remove SystemUI-Cleaned up unregistered ToastBlur dead code (replaced by ToastCustomizationHook, avoiding falling into the old "new ViewRootManager on every onLayout" trap again) @suqi8 (87c06926)
📷 Camera
🩹 Fix Camera-com.oplus.camera.configure.CameraConfig.(String,float)→float overload has been stripped in some ColorOS 16 devices, unified to use toClassOrNull + optional(silent = true) + firstMethodOrNull, missing overloads no longer interrupt subsequent hooks with NoSuchMethodException (issue #108) @suqi8 (617c7615)
⚡️ Optimize Camera-Prefs changed to a one-time snapshot into an in-memory Map at hook installation, hot paths only perform O(1) lookups, avoiding repeated file IO and full KV parsing triggered by XSharedPreferences.reload() (main cause of stuttering in issue #108) @suqi8 (617c7615)
🌃 Dark Mode
🩹 Fix Android-Dark Mode Adaptation List-Added @Volatile installation flag and runCatching for hooks on both system and settings sides, changed class lookup to toClassOrNull, avoiding repeated hook loading/exceptions triggering SystemUI soft reboots during scheduled dark mode switches @suqi8 (f0231b32)
🔊 Media Volume
🩹 Fix Android-Media Volume Steps-Changed to in-place modification of the [STREAM_MUSIC] element in the original static array, ensuring the static field and OPlus's AudioServiceExtImpl.mMaxStreamVolume always share the same data. rescaleIndex is consistent on both ends after reboot, preventing volume from maxing out @suqi8 (6e7489d5)
🧰 Smart Sidebar
🩹 Fix Smart Sidebar-Remove App Addition Limit-Removed custom performAdd, using only replaceToTrue to pass UserPanelView.canAdd / PanelMainView.canAdd. The new version's setUserData edit state branch no longer swallows new data @suqi8 (f7050657)
🩹 Fix Smart Sidebar-performAdd.before appends an mEditOccupancyData placeholder at the end of mPanelData, ensuring indexOf(EDIT_OCCUPANCY) ≥ 0. Newly added users are written to the trailing placeholder, preventing existing users from being overwritten @suqi8 (f7050657)
💥 Remove Smart Sidebar-sidebar_limit_bypass DexKit segment (readUserBeans / not finished string signatures no longer exist in new versions, and the reading layer no longer enforces a 20-item truncation) @suqi8 (f7050657)
📲 App Details
🩹 Fix App Details-Auto Click Continue Install Button-No longer relies on obfuscated class names, changed to hook View.setOnClickListener, targeting the button by resource entry name view_bottom_guide_continue_install_btn. Once the listener is attached, it immediately triggers performClick (clicks after attach, with a deduplication tag) @suqi8 (05c0c961)
📹 Screen Recording
✨ Add Screen Recording-Video-Custom video bitrate (1-200 Mbps) @suqi8 (7bd138d3)
💥 Remove Android-Fluid Cloud Assistant Permissions-OplusServices page UI switch, Hook implementation, and android.kt registration (switch is no longer maintained, taken over by other channels) @suqi8 (843a2e7f)
💥 Remove Fluid Cloud-Capsule Lyrics Display-Deprecating capsule lyrics feature, removed FluidCloudLyricsHook implementation, corresponding UI entries, call chains, and the fc_show_lyrics_in_capsule* strings across 7 language packs @suqi8 (bdc492ea)
🏠 App & Home
⚡️ Optimize App-App Info-Registered ComponentCallbacks to listen for uiMode changes, immediately resetting "unchanged count" after a theme switch @suqi8 (279b09c6)
⚡️ Optimize App-App Info-Skips system-side loading after 3 consecutive unchanged queries, returning immediately upon hitting disk cache @suqi8 (279b09c6)
⚡️ Optimize App-App Info-Icon decoding first uses inJustDecodeBounds to get dimensions, then calculates inSampleSize downsampling based on the target 192px, significantly reducing icon decoding memory and time @suqi8 (279b09c6)
⚡️ Optimize App-Welcome Screen-Coolapk Follow Verification-Extracted request building to buildCommonHeaders / buildAuthorizedRequest, avoiding duplicate code for GET / HEAD paths @suqi8 (a44e9060)
✨ Add App-UI-Page back animation type selectable-AOSP Cross-Activity @suqi8 (efb88c52)
✨ Add App-UI-Page back animation type selectable-Miuix Default @suqi8 (efb88c52)
✨ Add App-UI-Page back animation type selectable-Zoom @suqi8 (efb88c52)
✨ Add App-UI-Page back animation type selectable-Disable back animation @suqi8 (efb88c52)
✨ Add App-UI-Page back exit direction-Follow gesture (Default) @suqi8 (efb88c52)
✨ Add App-UI-Page back exit direction-Always right @suqi8 (efb88c52)
✨ Add App-UI-Page back exit direction-Always left @suqi8 (efb88c52)
🛠️ Change App-UI-disable_page_shared_animation default value changed to true, shared elements are disabled by default @suqi8 (efb88c52)
✨ Add App-Welcome Screen-Introduced page back animation type and exit direction options @suqi8 (efb88c52)
✨ Add App-About Screen-Introduced page back animation type and exit direction options @suqi8 (efb88c52)
⚡️ Optimize App-UI-Rewrote 5 files under androidx.navigationevent.compose to ensure the InProgress state can still be read before onBackCompleted to finish predictive back animations @suqi8 (efb88c52)
⚡️ Optimize App-Build-Excluded public version of androidx.navigationevent to avoid class conflicts @suqi8 (efb88c52)
⚡️ Optimize App-UI-Split AppNavHost into SharedElementNavDisplay / PredictiveBackNavDisplay dual paths, toggled via LocalPageSharedAnimationDisabled@suqi8 (efb88c52)
⚡️ Optimize App-UI-Miuix Handler decorator now comes with rounded corner clipping + background dim + zoom, bridging the visual gap missing in NavDisplayTransitionEffects from navigation3-ui 1.1.1 @suqi8 (efb88c52)
🔧 Engineering & Release
🛠️ Change CI-Release-Include commit body in GitHub Release and Telegram pushes @suqi8 (176a3411)
📝 Update Multi-language-Filled Traditional Chinese translation gaps based on reportMissingTranslationsXml output @suqi8 (b1e606c4)
📝 Update Multi-language-Filled Japanese translation gaps based on reportMissingTranslationsXml output @suqi8 (b1e606c4)
📝 Update Multi-language-Filled Korean translation gaps based on reportMissingTranslationsXml output @suqi8 (b1e606c4)
📝 Update Multi-language-Filled Russian translation gaps based on reportMissingTranslationsXml output @suqi8 (b1e606c4)
📝 Update Multi-language-Filled Turkish translation gaps based on reportMissingTranslationsXml output @suqi8 (b1e606c4)
📝 Update Multi-language-Filled ACG (Meme) translation gaps based on reportMissingTranslationsXml output @suqi8 (b1e606c4)
🛠️ Change Build-Updated manualVersionCode to 1452, versionName to 16.11 @suqi8 (928ea204)