Merge beta into stable#911
Merged
Merged
Conversation
Signed-off-by: DrDisagree <[email protected]>
Signed-off-by: DrDisagree <[email protected]>
Signed-off-by: DrDisagree <[email protected]>
Signed-off-by: DrDisagree <[email protected]>
Signed-off-by: DrDisagree <[email protected]>
Signed-off-by: DrDisagree <[email protected]>
Signed-off-by: DrDisagree <[email protected]>
…ers with lambdas Signed-off-by: DrDisagree <[email protected]>
Signed-off-by: DrDisagree <[email protected]>
Signed-off-by: DrDisagree <[email protected]>
Signed-off-by: DrDisagree <[email protected]>
Signed-off-by: DrDisagree <[email protected]>
Signed-off-by: DrDisagree <[email protected]>
Signed-off-by: DrDisagree <[email protected]>
New Crowdin translations by GitHub Action
New Crowdin translations by GitHub Action
Signed-off-by: DrDisagree <[email protected]>
Signed-off-by: DrDisagree <[email protected]>
Signed-off-by: DrDisagree <[email protected]>
New Crowdin translations by GitHub Action
* Update contributors.json * Initial changes for jetpack compose migration * Move AIDL files to services.providers package and update references * Remove isMasterSwitch check for LeadingIcon in SwitchPreferenceItem * Add options for floating bottom bar and blur effect * Remove custom category shadow and update language icon in settings - Remove `categoryShadow` modifier and adjust icon tint alpha in `HomeCategoryCard` - Update app language action icon to use `ic_language` drawable in `SettingsScreen` * Remove top padding from HomeBannerCard and update PreferenceScreen padding * Refactor state management and initialization in ColorPickerPreferenceItem * Add Custom Quick Settings Header Image and QS tile color customization - Add `HIDE_BATTERY_VIEW` and new `CUSTOM_HEADER_IMAGE` related keys to `XposedKey` - Implement specific color keys for Active, Inactive, and Unavailable QS tile states - Update `QSTheme` Xposed module to support granular tile state coloring and brightness slider hooks - Add `Info` preference type and `InfoPreferenceItem` component - Enhance `FilePicker` preference with `saveFileUri` option and haptic feedback - Update `TwoTargetSwitchPreferenceItem` UI layout and styling - Populate `HeaderImageScreen` and `QsThemesScreen` with new preference controls - Add `HIDE_BATTERY_VIEW` toggle to Status Bar settings * Rename dp extension property to toDp in CurrentWeatherView * Refactor InitPreferences to use IO dispatcher and suspending shell initialization in MainActivity * Replace HomeBannerCard glow and shadow effects with 3D tilt and scale animations * Move Shell initialization to onCreate and implement timeout for root access check in MainActivity * Comment out SliderColors hook in QSTheme.kt * Add default values to getString calls in LookAndFeelScreen * Replace aspectRatio with fixed height in HomeCategoryCard * Replace ConsolasFontTextAppearance style with direct fontFamily attribute in lockscreen clock preview * Remove MiscUtils helper class * Clean up redundant type conversions, nullability operators, and improve null safety in logging * Update KSP to 2.3.6 * Suppress Unused warnings and remove redundant type declaration * Move -renamesourcefileattribute rule to proguard-release.pro * Update TextClock alignment and width in preview_lockscreen_clock_1.xml * Update TextClock layout width and gravity in preview_lockscreen_clock_6 * Add lockscreen clock customization and device preview pager - Implement `DevicePreviewPager` for horizontal scrolling of device previews with asynchronous layout inflation and scaling animations - Add `LockscreenClockScreen` with preferences for custom clock styles, fonts, colors, and layout margins - Create `LockscreenClockViewModel` to dynamically load clock layout resources - Add `AutoScalingDevicePreview` component for consistent preview rendering across different device aspect ratios - Add `Font` file picker type to `FilePickerPreferenceItem` - Update `XposedKey` with new keys for lockscreen clock configurations - Add `androidx.asynclayoutinflater` dependency and update build configurations * Add custom device and user name settings to LockscreenClockScreen and update DevicePreviewPager selection logic * Adjust slider ranges and default text scaling for lockscreen clock settings * Add Quick Settings margin customization options * Implement FabMenuItem data class and harmonize FAB menu colors in MainScaffold * Extract asset-related utility methods from `FileUtils` to a new `AssetsUtils` class and refactor `FileUtils.moveToIconifyDir` to use `MediaStore` for scoped storage compatibility. * Simplify fileExists and folderExists in RootUtils by using shell exit codes * Update gravity and add layout_gravity in preview_lockscreen_clock_58 * Add wallpaper support to DevicePreviewPager and implement WallpaperUtils for lockscreen wallpaper retrieval * Move wallpaper loading logic to LockscreenClockViewModel and update DevicePreviewPager to accept wallpaper data as parameters * Add lockscreen media album art configuration options and keys * Implement Depth Wallpaper settings and example preview component * Rename LSCLOCK_TEXT_SCALING to LSCLOCK_TEXT_SCALE and update its range and default value in LockscreenClockScreen * Implement Lockscreen Widgets preferences and update SharedPreferences usage - Define new `XposedKey` constants for lockscreen widgets and weather settings. - Implement the `LockscreenWidgetsScreen` with comprehensive configuration options including device info, large/mini widgets, custom colors, and layout adjustments. - Update `WeatherConfig` to use the `androidx.core.content.edit` extension for more concise SharedPreferences modifications. - Add a "None" string resource and update the lockscreen widgets entry array. * Replace ScrollState with LazyColumn and add scroll indicators in list preference items * Implement Lockscreen Weather screen and ViewModel - Create `WeatherViewModel`, `WeatherScreenState`, `WeatherEvent`, and `WeatherDialog` to manage lockscreen weather logic and state. - Implement `LockscreenWeatherScreen` with Compose, including support for permission handling, provider selection, and icon pack management. - Add `LocationScreen` and update navigation graph to include new lockscreen routes. - Define new weather-related keys in `XposedKey` and update `WeatherConfig` to use them. - Provide `OmniJawsClient` via `WeatherModule`. - Add `maskKey` extension for secure display of API keys. - Update string resources for weather font selection. * Adjust padding, spacing, and text style in ListPreferenceItem and MultiListPreferenceItem dialogs * Move weather-related components from lockscreen.common to lockscreen.weather package * Implement location search functionality in lockscreen weather settings * Refactor Lockscreen Weather settings and extract weather event handling to a separate component * Add initialization calls to getter methods in PreferenceController * Add lockscreen widgets weather settings and refactor WeatherConfig to use global preferences * Optimize visibility state management and animations in PreferenceScreen and PreferenceCategoryItems * Update slider titles in LockscreenWidgetsScreen * Update haptic feedback logic in SliderPreferenceItem to trigger on label change * Use defaultValue from PreferenceDefinition as the default value in SliderPreferenceItem controller observation * Add UI and Text scale settings with support for delayed preference updates * Replace WeatherViewModel dependency with onItemClick callback in WeatherIconPackBottomSheet * Implement custom status bar logo selection and bottom sheet in StatusbarLogoScreen * Add summary to battery icon visibility switch in StatusbarScreen * Implement PickVisualMedia for image selection in FilePickerPreferenceItem * Reorganize settings and update categories in LockscreenWeatherScreen * Remove summary strings from master switches and update SwitchPreferenceItem styling * Update horizontal padding and apply titleSmallEmphasized typography in CategoryTitleRow * Update FilePickerPreferenceItem to use default button shapes * Add reset button and default value indicator to SliderPreferenceItem * Rename CUSTOM_LSCLOCK to CUSTOM_LOCKSCREEN_CLOCK and implement SystemUI restart listener in LockscreenClockScreen * Replace ModalBottomSheet with CustomBottomSheet in lockscreen and status bar components * Update HomeCategoryCard shape to extraLarge and adjust foreground colors in HomeCategories * Refactor preference management to use `PreferenceController` and `SettingsKey` - Add `SAVED_VERSION_CODE`, `ON_HOME_PAGE`, `FIRST_INSTALL`, `UPDATE_DETECTED`, and `XPOSED_ONLY_MODE` to `SettingsKey`. - Implement `clearAll` and `reset` functionality in `PreferenceStorage` and `PreferenceController`. - Replace direct `RPrefs` calls with `PreferenceController` in `SettingsScreen`, `OnboardingViewModel`, and `SettingsViewModel`. - Update `SettingsScreen` to use `LocalPreferenceController` for data reset and initialization. - Implement `clearIconifyDownloadDir` in `CacheUtils` to handle MediaStore cleanup. - Remove deprecated version code and storage permission helpers from `SystemUtils`. - Update `Config` and `ModuleUtils` to reference version and install state via `SettingsKey`. * Add preferences for Dual Statusbar configuration in DualStatusbarScreen and XposedKey * Add default values to preference screen parameters and expand PREFERENCE_LIST in References.kt * Enable default indicator and reset button for sliders in LookAndFeelScreen * Delete SwitchCompiler and refactor BackupRestore to use a centralized component list * Rename preference controller variables to prefController for consistency across the codebase * Add customization preferences for status bar clock chip and update related string resources * Adjust animation timing in DepthWallpaperExample.kt * Make preference min heights private in class * Replace shell commands with FileUtils for directory creation and resource writing in compilers * Implement Settings Icons customization features - Add `SettingsIconsPreview` data model and `SettingsIconsViewModel` for state management. - Implement `SettingsIconsCard` and `SettingsOptionsCard` components for the UI. - Update `SettingsIconsScreen` with full functionality for applying and disabling icon styles. - Enhance `SettingsIconsCompiler` and `SettingsIconResourceManager` to handle dynamic overlay building with configurable background, shape, size, and color. - Improve `OverlayCompiler` to capture and log AAPT errors more effectively. - Refactor `AppUtils.getSplitLocations` and `Logger` for better reliability and readability. - Enable navigation to the Settings Icons screen in `HomeCategories`. - Remove redundant shell commands for directory cleanup in compilers. * Add RoundedCornerShape to NotificationCard * Remove coming soon toast from home categories and add it to tweaks preferences while commenting out several tweak options * Optimize log scrolling and use indexed items in InstallationDialog * Update module service script to handle AMAC/AMGC overlays and refactor first install check in ModuleUtils * Swap foreground and background image titles in DepthWallpaperScreen * Refactor Xposed modules and update preference keys for Android 16 compatibility - Replace `BackgroundChip.kt` with a more modular `ClockChip.kt` for status bar customization. - Migrate from legacy `Preferences` constants to `XposedKey` for preference management across multiple modules (Lockscreen, Quick Settings, Statusbar). - Remove `LocaleHelper` and various unused utility methods in `SystemUtils`. - Update `DualStatusbar`, `LockscreenClock`, and `QuickSettings` modules to use the new key-based preference system. - Adjust layout hooks and visibility logic in `Lockscreen` and `QuickSettings` to support modern Android versions. - Refactor `ChipDrawable` to support more fill color options. - Update GitHub Actions workflow to focus on debug APK builds. - Remove redundant "Compose lockscreen" checks to broaden compatibility.
…s/images) - Change file extensions for lock screen clock fonts, header images, depth wallpapers, and status bar logo files from `.ttf` and `.png` to `.iconify`.
- Rename `themePicker()` to `undrawThemePicker()` in `DynamicColorImageVectors` for better naming consistency. - Update the image vector reference in `LookAndFeelScreen` to use the renamed function. - Add a `@Preview` composable to `UndrawThemePicker.kt` to allow visualization of the vector within the IDE.
- Add `ColorFilter.tint` using `MaterialTheme.colorScheme.primary` and `BlendMode.Softlight` to the image component in `HomeBannerCard`.
New Crowdin translations by GitHub Action
- Add `showText` parameter to `LoadingDialogContent` and hide text specifically on the `ChangelogScreen`. - Use a `Set` for change entries in `ChangelogViewModel` to ensure uniqueness. - Rename `loadCompareChangelog` to `loadDebugChangelog` in `ChangelogViewModel`. - Update `colorpickerCompose` to version `1.1.4` and `composeMarkdown` to `0.7.2`.
- Replace `AsyncImage` error and placeholder properties with a manual `showFallbackImage` state. - Update `showFallbackImage` state via `onState` callback during `Loading` and `Error` phases. - Render a themed `Icon` with `onPrimaryContainer` tint as the fallback component.
- Create `PlaygroundScreen` with a custom notification sender utility. - Add `PLAYGROUND_UNLOCKED` setting and implement a hidden unlock mechanism via 7 clicks on the developer profile image in `DeveloperIntroCard`. - Enhance `CollapsingTopAppBar` and `TopAppBarAction` to support both `Int` and `ImageVector` icons. - Conditionally display the Playground option in the app scaffold menu when unlocked. - Register the Playground route in `NavRoutes` and `NavGraph`. - Update `SettingsState` and `AppProviders` to include the playground unlock state.
- Introduce `isLoaded` StateFlow in `SettingsViewModel` to track when preference loading is complete. - Update `AppProviders` to use the dynamic `isLoaded` state from `SettingsViewModel` instead of a hardcoded value. - Remove artificial initialization delay in `MainActivity`. - Reduce the delay before showing the bottom navigation bar in `HomeScreen` from 600ms to 300ms.
New Crowdin translations by GitHub Action
- Add `module_uninstall.sh` raw resource to automate the removal of "IconifyComponent" packages. - Update `ModuleUtils` to read and write `uninstall.sh` when generating the module directory.
- Add `SearchIndex` registry to map app-wide preferences to their corresponding navigation routes and breadcrumbs. - Implement `SearchScreen` and `SearchViewModel` for real-time filtering of searchable preferences. - Add a search action to `AppScaffold` for global accessibility and register the search route in `NavGraph`. - Implement auto-scroll and highlight animation in `PreferenceScreen` when navigating from a search result using `SearchHighlightState`. - Update `PrefStringRes` to support string resource resolution outside of a Composable context via a new `Resource` variant. - Introduce `HighlightablePreferenceItem` to provide visual feedback with background tints and borders for selected search items. - Add search-related strings for UI hints and empty states.
- Use `@param:StringRes` for the `resId` parameter in the `Resource` data class to ensure the annotation is correctly applied to the constructor parameter.
- Add missing screens to SearchIndex (Lockscreen Weather, Lockscreen Widgets, Lockscreen Widgets Weather, Depth Wallpaper, Color Engine). - Refactor SearchIndex to use direct imports for preference definitions instead of fully qualified package names. - Clean up isSearchable helper logic.
- Create `AppUpdatesViewModel` to handle update checks, changelog parsing, and APK installation using `PackageInstaller`. - Implement `AppUpdatesScreen` and `AppUpdateContent` to provide a UI for manual update checks, download progress, and changelog display. - Revamp `UpdateWorker` and `UpdateScheduler` to support configurable update intervals, network constraints, and GitHub API integration. - Add `BootReceiver` to reschedule update checks on system boot and `PackageInstallReceiver` to relaunch the app after an update. - Introduce new settings keys for auto-update preferences, including toggle for WiFi-only downloads and update frequency. - Update `NavGraph` and `MainActivity` to handle deep-linking from update notifications and manage navigation to the update screen. - Enhance `LoadingDialog` to support custom status text for download and installation phases.
New Crowdin translations by GitHub Action
- Replace class-level `hookedCallbackClasses` set with instance-specific tracking using a "hooked" extra field. - Update `KeyguardUpdateMonitor#registerCallback` hook to check and set the hook state on the callback object instance. - Import `getExtraField` utility for checking the existing hook state.
- Switch from `getExtraField` to `getExtraFieldSilently` when checking the `hooked` state on callback objects.
- Bump `versionName` to 7.3.0 and `versionCode` to 25 in `latestVersion.json`. - Update `apkUrl` to point to the v7.3.0 release. - Update changelog with new features including lockscreen clock styles, OneUI 7 battery style, and Heads-Up/media blur effects. - Include status bar logo customization improvements and missing icon pack additions in the release notes. - Note AGP and dependency updates along with translation improvements.
- Update `versionName` to 8.0.0 and increment `versionCode` to 26. - Add changelogs for v7.3.0 and v8.0.0 releases. - Update `README.md` with version-specific requirements, recommending v7.3.0 for Android 12-16 and v8.0.0 for Android 16 QPR1+. - Add detailed setup instructions for Mountify on KernelSU v3.0+ to ensure systemless compatibility. - Include Vector in the list of supported Xposed frameworks. - Simplify output APK and archive naming convention by removing the "A16" prefix. - Upgrade Android Gradle Plugin (AGP) to 9.2.1.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.