Skip to content

Update target SDK to 33 and migrate to AndroidX#1

Open
invidtiv wants to merge 6 commits into
cm-14.1from
Android11_Xiaomi
Open

Update target SDK to 33 and migrate to AndroidX#1
invidtiv wants to merge 6 commits into
cm-14.1from
Android11_Xiaomi

Conversation

@invidtiv

Copy link
Copy Markdown
Owner
  • Update targetSdkVersion from 23 to 33
  • Migrate from support library to AndroidX (DrawerLayout, ActionBarDrawerToggle, Snackbar)
  • Add android:exported attributes to service and activity components
  • Remove deprecated WRITE_MEDIA_STORAGE permission
  • Add requestLegacyExternalStorage flag for storage compatibility
  • Replace deprecated internal Android APIs with local utility classes (HexDump, XmlUtils)
  • Update TrueZIP library exception handling for

- Update targetSdkVersion from 23 to 33
- Migrate from support library to AndroidX (DrawerLayout, ActionBarDrawerToggle, Snackbar)
- Add android:exported attributes to service and activity components
- Remove deprecated WRITE_MEDIA_STORAGE permission
- Add requestLegacyExternalStorage flag for storage compatibility
- Replace deprecated internal Android APIs with local utility classes (HexDump, XmlUtils)
- Update TrueZIP library exception handling for
@invidtiv
invidtiv marked this pull request as ready for review December 20, 2025 23:19
- Implement ACTION_SET_HOME intent to allow defining the home directory via intent.
- Add support for folder:// and directory:// URI schemes for opening folders and picking directories.
- Add extra_add_to_history boolean extra to NavigationActivity for history control.
- Document all supported intent actions, schemes, and extras in INTENTS.md.
- Reference INTENTS.md in the main README.md.
Resolved Loading Crash (Resources$NotFoundException): The application was crashing on startup because it was attempting to load theme resources using a hardcoded package name (com.cyanogenmod.filemanager), while the debug build running on the emulator has a different package name (com.cyanogenmod.filemanager.dev). I updated
FileManagerSettings.java
 to use BuildConfig.APPLICATION_ID dynamically, ensuring the correct package name is used for resource lookups in all build variants.
Fixed Console Allocation Error: I identified a potential fragility in
Command.java
 where XML attributes were being retrieved by index, which could lead to ConsoleAllocException and startup failures if the resource IDs didn't match the expected order. I refactored the attribute retrieval logic to use attribute names ("commandId", "commandPath", "commandArgs") instead of indices, making the command loading robust ensuring the file manager can initialize its shell console correctly.
App Icon and Visibility: confirmed that
AndroidManifest.xml
 correctly defines the icon (@mipmap/ic_launcher_filemanager) and the LAUNCHER category. The application is now visible in the Android app drawer and launches successfully.
Verification:

The application builds and installs successfully (standardDebug flavor).
logcat confirms the main activity
NavigationActivity
 is displayed (Displayed com.cyanogenmod.filemanager.dev/...).
The previous startup crashes and console allocation errors are resolved.
The File Manager is now fully functional on the emulator.
…ce along with its associated resources and manifest declarations.
Summary of changes:
- Incremented versionCode to 106 and versionName to 3.5.1 in build.gradle.
- Updated NavigationActivity to automatically save the home directory when opening a folder via ACTION_VIEW with 'resource/folder' MIME type.
- Updated CHANGELOG.md and INTENTS.md documentation to reflect version and feature changes.
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.

1 participant