diff --git a/app/.gitignore b/app/apk/.gitignore similarity index 100% rename from app/.gitignore rename to app/apk/.gitignore diff --git a/app/build.gradle.kts b/app/apk/build.gradle.kts similarity index 100% rename from app/build.gradle.kts rename to app/apk/build.gradle.kts diff --git a/app/proguard-rules.pro b/app/apk/proguard-rules.pro similarity index 100% rename from app/proguard-rules.pro rename to app/apk/proguard-rules.pro diff --git a/app/src/main/AndroidManifest.xml b/app/apk/src/main/AndroidManifest.xml similarity index 100% rename from app/src/main/AndroidManifest.xml rename to app/apk/src/main/AndroidManifest.xml diff --git a/app/src/main/java/com/topjohnwu/magisk/arch/AsyncLoadViewModel.kt b/app/apk/src/main/java/com/topjohnwu/magisk/arch/AsyncLoadViewModel.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/arch/AsyncLoadViewModel.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/arch/AsyncLoadViewModel.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/arch/BaseFragment.kt b/app/apk/src/main/java/com/topjohnwu/magisk/arch/BaseFragment.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/arch/BaseFragment.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/arch/BaseFragment.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/arch/BaseViewModel.kt b/app/apk/src/main/java/com/topjohnwu/magisk/arch/BaseViewModel.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/arch/BaseViewModel.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/arch/BaseViewModel.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/arch/NavigationActivity.kt b/app/apk/src/main/java/com/topjohnwu/magisk/arch/NavigationActivity.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/arch/NavigationActivity.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/arch/NavigationActivity.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/arch/UIActivity.kt b/app/apk/src/main/java/com/topjohnwu/magisk/arch/UIActivity.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/arch/UIActivity.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/arch/UIActivity.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/arch/ViewEvent.kt b/app/apk/src/main/java/com/topjohnwu/magisk/arch/ViewEvent.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/arch/ViewEvent.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/arch/ViewEvent.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/arch/ViewModelHolder.kt b/app/apk/src/main/java/com/topjohnwu/magisk/arch/ViewModelHolder.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/arch/ViewModelHolder.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/arch/ViewModelHolder.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/databinding/DataBindingAdapters.kt b/app/apk/src/main/java/com/topjohnwu/magisk/databinding/DataBindingAdapters.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/databinding/DataBindingAdapters.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/databinding/DataBindingAdapters.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/databinding/DiffObservableList.kt b/app/apk/src/main/java/com/topjohnwu/magisk/databinding/DiffObservableList.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/databinding/DiffObservableList.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/databinding/DiffObservableList.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/databinding/MergeObservableList.kt b/app/apk/src/main/java/com/topjohnwu/magisk/databinding/MergeObservableList.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/databinding/MergeObservableList.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/databinding/MergeObservableList.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/databinding/ObservableHost.kt b/app/apk/src/main/java/com/topjohnwu/magisk/databinding/ObservableHost.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/databinding/ObservableHost.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/databinding/ObservableHost.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/databinding/RecyclerViewItems.kt b/app/apk/src/main/java/com/topjohnwu/magisk/databinding/RecyclerViewItems.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/databinding/RecyclerViewItems.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/databinding/RecyclerViewItems.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/databinding/RvItemAdapter.kt b/app/apk/src/main/java/com/topjohnwu/magisk/databinding/RvItemAdapter.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/databinding/RvItemAdapter.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/databinding/RvItemAdapter.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/dialog/DarkThemeDialog.kt b/app/apk/src/main/java/com/topjohnwu/magisk/dialog/DarkThemeDialog.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/dialog/DarkThemeDialog.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/dialog/DarkThemeDialog.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/dialog/EnvFixDialog.kt b/app/apk/src/main/java/com/topjohnwu/magisk/dialog/EnvFixDialog.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/dialog/EnvFixDialog.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/dialog/EnvFixDialog.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/dialog/LocalModuleInstallDialog.kt b/app/apk/src/main/java/com/topjohnwu/magisk/dialog/LocalModuleInstallDialog.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/dialog/LocalModuleInstallDialog.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/dialog/LocalModuleInstallDialog.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/dialog/ManagerInstallDialog.kt b/app/apk/src/main/java/com/topjohnwu/magisk/dialog/ManagerInstallDialog.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/dialog/ManagerInstallDialog.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/dialog/ManagerInstallDialog.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/dialog/MarkDownDialog.kt b/app/apk/src/main/java/com/topjohnwu/magisk/dialog/MarkDownDialog.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/dialog/MarkDownDialog.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/dialog/MarkDownDialog.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/dialog/OnlineModuleInstallDialog.kt b/app/apk/src/main/java/com/topjohnwu/magisk/dialog/OnlineModuleInstallDialog.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/dialog/OnlineModuleInstallDialog.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/dialog/OnlineModuleInstallDialog.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/dialog/SecondSlotWarningDialog.kt b/app/apk/src/main/java/com/topjohnwu/magisk/dialog/SecondSlotWarningDialog.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/dialog/SecondSlotWarningDialog.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/dialog/SecondSlotWarningDialog.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/dialog/SuperuserRevokeDialog.kt b/app/apk/src/main/java/com/topjohnwu/magisk/dialog/SuperuserRevokeDialog.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/dialog/SuperuserRevokeDialog.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/dialog/SuperuserRevokeDialog.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/dialog/UninstallDialog.kt b/app/apk/src/main/java/com/topjohnwu/magisk/dialog/UninstallDialog.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/dialog/UninstallDialog.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/dialog/UninstallDialog.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/events/ViewEvents.kt b/app/apk/src/main/java/com/topjohnwu/magisk/events/ViewEvents.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/events/ViewEvents.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/events/ViewEvents.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/MainActivity.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/MainActivity.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/ui/MainActivity.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/ui/MainActivity.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/SplashActivity.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/SplashActivity.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/ui/SplashActivity.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/ui/SplashActivity.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/deny/AppProcessInfo.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/deny/AppProcessInfo.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/ui/deny/AppProcessInfo.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/ui/deny/AppProcessInfo.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/deny/DenyListFragment.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/deny/DenyListFragment.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/ui/deny/DenyListFragment.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/ui/deny/DenyListFragment.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/deny/DenyListRvItem.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/deny/DenyListRvItem.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/ui/deny/DenyListRvItem.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/ui/deny/DenyListRvItem.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/deny/DenyListViewModel.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/deny/DenyListViewModel.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/ui/deny/DenyListViewModel.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/ui/deny/DenyListViewModel.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/flash/ConsoleItem.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/flash/ConsoleItem.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/ui/flash/ConsoleItem.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/ui/flash/ConsoleItem.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/flash/FlashFragment.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/flash/FlashFragment.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/ui/flash/FlashFragment.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/ui/flash/FlashFragment.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/flash/FlashViewModel.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/flash/FlashViewModel.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/ui/flash/FlashViewModel.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/ui/flash/FlashViewModel.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/home/DeveloperItem.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/home/DeveloperItem.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/ui/home/DeveloperItem.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/ui/home/DeveloperItem.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/home/HomeFragment.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/home/HomeFragment.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/ui/home/HomeFragment.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/ui/home/HomeFragment.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/home/HomeViewModel.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/home/HomeViewModel.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/ui/home/HomeViewModel.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/ui/home/HomeViewModel.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/home/RebootMenu.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/home/RebootMenu.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/ui/home/RebootMenu.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/ui/home/RebootMenu.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/install/InstallFragment.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/install/InstallFragment.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/ui/install/InstallFragment.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/ui/install/InstallFragment.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/install/InstallViewModel.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/install/InstallViewModel.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/ui/install/InstallViewModel.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/ui/install/InstallViewModel.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/log/LogFragment.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/log/LogFragment.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/ui/log/LogFragment.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/ui/log/LogFragment.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/log/LogRvItem.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/log/LogRvItem.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/ui/log/LogRvItem.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/ui/log/LogRvItem.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/log/LogViewModel.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/log/LogViewModel.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/ui/log/LogViewModel.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/ui/log/LogViewModel.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/log/SuLogRvItem.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/log/SuLogRvItem.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/ui/log/SuLogRvItem.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/ui/log/SuLogRvItem.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/module/ModuleFragment.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/module/ModuleFragment.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/ui/module/ModuleFragment.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/ui/module/ModuleFragment.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/module/ModuleRvItem.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/module/ModuleRvItem.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/ui/module/ModuleRvItem.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/ui/module/ModuleRvItem.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/module/ModuleViewModel.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/module/ModuleViewModel.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/ui/module/ModuleViewModel.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/ui/module/ModuleViewModel.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/settings/BaseSettingsItem.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/settings/BaseSettingsItem.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/ui/settings/BaseSettingsItem.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/ui/settings/BaseSettingsItem.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/settings/SettingsFragment.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/settings/SettingsFragment.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/ui/settings/SettingsFragment.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/ui/settings/SettingsFragment.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/settings/SettingsItems.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/settings/SettingsItems.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/ui/settings/SettingsItems.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/ui/settings/SettingsItems.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/settings/SettingsViewModel.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/settings/SettingsViewModel.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/ui/settings/SettingsViewModel.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/ui/settings/SettingsViewModel.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/superuser/PolicyRvItem.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/superuser/PolicyRvItem.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/ui/superuser/PolicyRvItem.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/ui/superuser/PolicyRvItem.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/superuser/SuperuserFragment.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/superuser/SuperuserFragment.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/ui/superuser/SuperuserFragment.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/ui/superuser/SuperuserFragment.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/superuser/SuperuserViewModel.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/superuser/SuperuserViewModel.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/ui/superuser/SuperuserViewModel.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/ui/superuser/SuperuserViewModel.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/surequest/SuRequestActivity.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/surequest/SuRequestActivity.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/ui/surequest/SuRequestActivity.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/ui/surequest/SuRequestActivity.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/surequest/SuRequestViewModel.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/surequest/SuRequestViewModel.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/ui/surequest/SuRequestViewModel.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/ui/surequest/SuRequestViewModel.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/theme/Theme.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/theme/Theme.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/ui/theme/Theme.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/ui/theme/Theme.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/theme/ThemeFragment.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/theme/ThemeFragment.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/ui/theme/ThemeFragment.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/ui/theme/ThemeFragment.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/theme/ThemeViewModel.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/theme/ThemeViewModel.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/ui/theme/ThemeViewModel.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/ui/theme/ThemeViewModel.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/utils/MotionRevealHelper.kt b/app/apk/src/main/java/com/topjohnwu/magisk/utils/MotionRevealHelper.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/utils/MotionRevealHelper.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/utils/MotionRevealHelper.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/utils/TextHolder.kt b/app/apk/src/main/java/com/topjohnwu/magisk/utils/TextHolder.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/utils/TextHolder.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/utils/TextHolder.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/view/MagiskDialog.kt b/app/apk/src/main/java/com/topjohnwu/magisk/view/MagiskDialog.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/view/MagiskDialog.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/view/MagiskDialog.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/view/TappableHeadlineItem.kt b/app/apk/src/main/java/com/topjohnwu/magisk/view/TappableHeadlineItem.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/view/TappableHeadlineItem.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/view/TappableHeadlineItem.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/view/TextItem.kt b/app/apk/src/main/java/com/topjohnwu/magisk/view/TextItem.kt similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/view/TextItem.kt rename to app/apk/src/main/java/com/topjohnwu/magisk/view/TextItem.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/widget/ConcealableBottomNavigationView.java b/app/apk/src/main/java/com/topjohnwu/magisk/widget/ConcealableBottomNavigationView.java similarity index 100% rename from app/src/main/java/com/topjohnwu/magisk/widget/ConcealableBottomNavigationView.java rename to app/apk/src/main/java/com/topjohnwu/magisk/widget/ConcealableBottomNavigationView.java diff --git a/app/src/main/res/anim/fragment_enter.xml b/app/apk/src/main/res/anim/fragment_enter.xml similarity index 100% rename from app/src/main/res/anim/fragment_enter.xml rename to app/apk/src/main/res/anim/fragment_enter.xml diff --git a/app/src/main/res/anim/fragment_enter_pop.xml b/app/apk/src/main/res/anim/fragment_enter_pop.xml similarity index 100% rename from app/src/main/res/anim/fragment_enter_pop.xml rename to app/apk/src/main/res/anim/fragment_enter_pop.xml diff --git a/app/src/main/res/anim/fragment_exit.xml b/app/apk/src/main/res/anim/fragment_exit.xml similarity index 100% rename from app/src/main/res/anim/fragment_exit.xml rename to app/apk/src/main/res/anim/fragment_exit.xml diff --git a/app/src/main/res/anim/fragment_exit_pop.xml b/app/apk/src/main/res/anim/fragment_exit_pop.xml similarity index 100% rename from app/src/main/res/anim/fragment_exit_pop.xml rename to app/apk/src/main/res/anim/fragment_exit_pop.xml diff --git a/app/src/main/res/color/color_card_background_color_selector.xml b/app/apk/src/main/res/color/color_card_background_color_selector.xml similarity index 100% rename from app/src/main/res/color/color_card_background_color_selector.xml rename to app/apk/src/main/res/color/color_card_background_color_selector.xml diff --git a/app/src/main/res/color/color_error_transient.xml b/app/apk/src/main/res/color/color_error_transient.xml similarity index 100% rename from app/src/main/res/color/color_error_transient.xml rename to app/apk/src/main/res/color/color_error_transient.xml diff --git a/app/src/main/res/color/color_menu_tint.xml b/app/apk/src/main/res/color/color_menu_tint.xml similarity index 100% rename from app/src/main/res/color/color_menu_tint.xml rename to app/apk/src/main/res/color/color_menu_tint.xml diff --git a/app/src/main/res/color/color_on_primary_transient.xml b/app/apk/src/main/res/color/color_on_primary_transient.xml similarity index 100% rename from app/src/main/res/color/color_on_primary_transient.xml rename to app/apk/src/main/res/color/color_on_primary_transient.xml diff --git a/app/src/main/res/color/color_primary_error_transient.xml b/app/apk/src/main/res/color/color_primary_error_transient.xml similarity index 100% rename from app/src/main/res/color/color_primary_error_transient.xml rename to app/apk/src/main/res/color/color_primary_error_transient.xml diff --git a/app/src/main/res/color/color_primary_transient.xml b/app/apk/src/main/res/color/color_primary_transient.xml similarity index 100% rename from app/src/main/res/color/color_primary_transient.xml rename to app/apk/src/main/res/color/color_primary_transient.xml diff --git a/app/src/main/res/color/color_state_primary_transient.xml b/app/apk/src/main/res/color/color_state_primary_transient.xml similarity index 100% rename from app/src/main/res/color/color_state_primary_transient.xml rename to app/apk/src/main/res/color/color_state_primary_transient.xml diff --git a/app/src/main/res/color/color_text_transient.xml b/app/apk/src/main/res/color/color_text_transient.xml similarity index 100% rename from app/src/main/res/color/color_text_transient.xml rename to app/apk/src/main/res/color/color_text_transient.xml diff --git a/app/src/main/res/layout/activity_main_md2.xml b/app/apk/src/main/res/layout/activity_main_md2.xml similarity index 100% rename from app/src/main/res/layout/activity_main_md2.xml rename to app/apk/src/main/res/layout/activity_main_md2.xml diff --git a/app/src/main/res/layout/activity_request.xml b/app/apk/src/main/res/layout/activity_request.xml similarity index 100% rename from app/src/main/res/layout/activity_request.xml rename to app/apk/src/main/res/layout/activity_request.xml diff --git a/app/src/main/res/layout/dialog_magisk_base.xml b/app/apk/src/main/res/layout/dialog_magisk_base.xml similarity index 100% rename from app/src/main/res/layout/dialog_magisk_base.xml rename to app/apk/src/main/res/layout/dialog_magisk_base.xml diff --git a/app/src/main/res/layout/dialog_settings_app_name.xml b/app/apk/src/main/res/layout/dialog_settings_app_name.xml similarity index 100% rename from app/src/main/res/layout/dialog_settings_app_name.xml rename to app/apk/src/main/res/layout/dialog_settings_app_name.xml diff --git a/app/src/main/res/layout/dialog_settings_download_path.xml b/app/apk/src/main/res/layout/dialog_settings_download_path.xml similarity index 100% rename from app/src/main/res/layout/dialog_settings_download_path.xml rename to app/apk/src/main/res/layout/dialog_settings_download_path.xml diff --git a/app/src/main/res/layout/dialog_settings_update_channel.xml b/app/apk/src/main/res/layout/dialog_settings_update_channel.xml similarity index 100% rename from app/src/main/res/layout/dialog_settings_update_channel.xml rename to app/apk/src/main/res/layout/dialog_settings_update_channel.xml diff --git a/app/src/main/res/layout/fragment_deny_md2.xml b/app/apk/src/main/res/layout/fragment_deny_md2.xml similarity index 100% rename from app/src/main/res/layout/fragment_deny_md2.xml rename to app/apk/src/main/res/layout/fragment_deny_md2.xml diff --git a/app/src/main/res/layout/fragment_flash_md2.xml b/app/apk/src/main/res/layout/fragment_flash_md2.xml similarity index 100% rename from app/src/main/res/layout/fragment_flash_md2.xml rename to app/apk/src/main/res/layout/fragment_flash_md2.xml diff --git a/app/src/main/res/layout/fragment_home_md2.xml b/app/apk/src/main/res/layout/fragment_home_md2.xml similarity index 100% rename from app/src/main/res/layout/fragment_home_md2.xml rename to app/apk/src/main/res/layout/fragment_home_md2.xml diff --git a/app/src/main/res/layout/fragment_install_md2.xml b/app/apk/src/main/res/layout/fragment_install_md2.xml similarity index 100% rename from app/src/main/res/layout/fragment_install_md2.xml rename to app/apk/src/main/res/layout/fragment_install_md2.xml diff --git a/app/src/main/res/layout/fragment_log_md2.xml b/app/apk/src/main/res/layout/fragment_log_md2.xml similarity index 100% rename from app/src/main/res/layout/fragment_log_md2.xml rename to app/apk/src/main/res/layout/fragment_log_md2.xml diff --git a/app/src/main/res/layout/fragment_module_md2.xml b/app/apk/src/main/res/layout/fragment_module_md2.xml similarity index 100% rename from app/src/main/res/layout/fragment_module_md2.xml rename to app/apk/src/main/res/layout/fragment_module_md2.xml diff --git a/app/src/main/res/layout/fragment_settings_md2.xml b/app/apk/src/main/res/layout/fragment_settings_md2.xml similarity index 100% rename from app/src/main/res/layout/fragment_settings_md2.xml rename to app/apk/src/main/res/layout/fragment_settings_md2.xml diff --git a/app/src/main/res/layout/fragment_superuser_md2.xml b/app/apk/src/main/res/layout/fragment_superuser_md2.xml similarity index 100% rename from app/src/main/res/layout/fragment_superuser_md2.xml rename to app/apk/src/main/res/layout/fragment_superuser_md2.xml diff --git a/app/src/main/res/layout/fragment_theme_md2.xml b/app/apk/src/main/res/layout/fragment_theme_md2.xml similarity index 100% rename from app/src/main/res/layout/fragment_theme_md2.xml rename to app/apk/src/main/res/layout/fragment_theme_md2.xml diff --git a/app/src/main/res/layout/include_home_magisk.xml b/app/apk/src/main/res/layout/include_home_magisk.xml similarity index 100% rename from app/src/main/res/layout/include_home_magisk.xml rename to app/apk/src/main/res/layout/include_home_magisk.xml diff --git a/app/src/main/res/layout/include_home_manager.xml b/app/apk/src/main/res/layout/include_home_manager.xml similarity index 100% rename from app/src/main/res/layout/include_home_manager.xml rename to app/apk/src/main/res/layout/include_home_manager.xml diff --git a/app/src/main/res/layout/include_log_magisk.xml b/app/apk/src/main/res/layout/include_log_magisk.xml similarity index 100% rename from app/src/main/res/layout/include_log_magisk.xml rename to app/apk/src/main/res/layout/include_log_magisk.xml diff --git a/app/src/main/res/layout/include_log_superuser.xml b/app/apk/src/main/res/layout/include_log_superuser.xml similarity index 100% rename from app/src/main/res/layout/include_log_superuser.xml rename to app/apk/src/main/res/layout/include_log_superuser.xml diff --git a/app/src/main/res/layout/item_console_md2.xml b/app/apk/src/main/res/layout/item_console_md2.xml similarity index 100% rename from app/src/main/res/layout/item_console_md2.xml rename to app/apk/src/main/res/layout/item_console_md2.xml diff --git a/app/src/main/res/layout/item_developer.xml b/app/apk/src/main/res/layout/item_developer.xml similarity index 100% rename from app/src/main/res/layout/item_developer.xml rename to app/apk/src/main/res/layout/item_developer.xml diff --git a/app/src/main/res/layout/item_hide_md2.xml b/app/apk/src/main/res/layout/item_hide_md2.xml similarity index 100% rename from app/src/main/res/layout/item_hide_md2.xml rename to app/apk/src/main/res/layout/item_hide_md2.xml diff --git a/app/src/main/res/layout/item_hide_process_md2.xml b/app/apk/src/main/res/layout/item_hide_process_md2.xml similarity index 100% rename from app/src/main/res/layout/item_hide_process_md2.xml rename to app/apk/src/main/res/layout/item_hide_process_md2.xml diff --git a/app/src/main/res/layout/item_icon_link.xml b/app/apk/src/main/res/layout/item_icon_link.xml similarity index 100% rename from app/src/main/res/layout/item_icon_link.xml rename to app/apk/src/main/res/layout/item_icon_link.xml diff --git a/app/src/main/res/layout/item_list_single_line.xml b/app/apk/src/main/res/layout/item_list_single_line.xml similarity index 100% rename from app/src/main/res/layout/item_list_single_line.xml rename to app/apk/src/main/res/layout/item_list_single_line.xml diff --git a/app/src/main/res/layout/item_log_access_md2.xml b/app/apk/src/main/res/layout/item_log_access_md2.xml similarity index 100% rename from app/src/main/res/layout/item_log_access_md2.xml rename to app/apk/src/main/res/layout/item_log_access_md2.xml diff --git a/app/src/main/res/layout/item_log_textview.xml b/app/apk/src/main/res/layout/item_log_textview.xml similarity index 100% rename from app/src/main/res/layout/item_log_textview.xml rename to app/apk/src/main/res/layout/item_log_textview.xml diff --git a/app/src/main/res/layout/item_log_track_md2.xml b/app/apk/src/main/res/layout/item_log_track_md2.xml similarity index 100% rename from app/src/main/res/layout/item_log_track_md2.xml rename to app/apk/src/main/res/layout/item_log_track_md2.xml diff --git a/app/src/main/res/layout/item_module_download.xml b/app/apk/src/main/res/layout/item_module_download.xml similarity index 100% rename from app/src/main/res/layout/item_module_download.xml rename to app/apk/src/main/res/layout/item_module_download.xml diff --git a/app/src/main/res/layout/item_module_md2.xml b/app/apk/src/main/res/layout/item_module_md2.xml similarity index 100% rename from app/src/main/res/layout/item_module_md2.xml rename to app/apk/src/main/res/layout/item_module_md2.xml diff --git a/app/src/main/res/layout/item_policy_md2.xml b/app/apk/src/main/res/layout/item_policy_md2.xml similarity index 100% rename from app/src/main/res/layout/item_policy_md2.xml rename to app/apk/src/main/res/layout/item_policy_md2.xml diff --git a/app/src/main/res/layout/item_settings.xml b/app/apk/src/main/res/layout/item_settings.xml similarity index 100% rename from app/src/main/res/layout/item_settings.xml rename to app/apk/src/main/res/layout/item_settings.xml diff --git a/app/src/main/res/layout/item_settings_section.xml b/app/apk/src/main/res/layout/item_settings_section.xml similarity index 100% rename from app/src/main/res/layout/item_settings_section.xml rename to app/apk/src/main/res/layout/item_settings_section.xml diff --git a/app/src/main/res/layout/item_spinner.xml b/app/apk/src/main/res/layout/item_spinner.xml similarity index 100% rename from app/src/main/res/layout/item_spinner.xml rename to app/apk/src/main/res/layout/item_spinner.xml diff --git a/app/src/main/res/layout/item_tappable_headline.xml b/app/apk/src/main/res/layout/item_tappable_headline.xml similarity index 100% rename from app/src/main/res/layout/item_tappable_headline.xml rename to app/apk/src/main/res/layout/item_tappable_headline.xml diff --git a/app/src/main/res/layout/item_text.xml b/app/apk/src/main/res/layout/item_text.xml similarity index 100% rename from app/src/main/res/layout/item_text.xml rename to app/apk/src/main/res/layout/item_text.xml diff --git a/app/src/main/res/layout/item_theme.xml b/app/apk/src/main/res/layout/item_theme.xml similarity index 100% rename from app/src/main/res/layout/item_theme.xml rename to app/apk/src/main/res/layout/item_theme.xml diff --git a/app/src/main/res/layout/item_theme_container.xml b/app/apk/src/main/res/layout/item_theme_container.xml similarity index 100% rename from app/src/main/res/layout/item_theme_container.xml rename to app/apk/src/main/res/layout/item_theme_container.xml diff --git a/app/src/main/res/layout/markdown_window_md2.xml b/app/apk/src/main/res/layout/markdown_window_md2.xml similarity index 100% rename from app/src/main/res/layout/markdown_window_md2.xml rename to app/apk/src/main/res/layout/markdown_window_md2.xml diff --git a/app/src/main/res/menu/menu_bottom_nav.xml b/app/apk/src/main/res/menu/menu_bottom_nav.xml similarity index 100% rename from app/src/main/res/menu/menu_bottom_nav.xml rename to app/apk/src/main/res/menu/menu_bottom_nav.xml diff --git a/app/src/main/res/menu/menu_deny_md2.xml b/app/apk/src/main/res/menu/menu_deny_md2.xml similarity index 100% rename from app/src/main/res/menu/menu_deny_md2.xml rename to app/apk/src/main/res/menu/menu_deny_md2.xml diff --git a/app/src/main/res/menu/menu_flash.xml b/app/apk/src/main/res/menu/menu_flash.xml similarity index 100% rename from app/src/main/res/menu/menu_flash.xml rename to app/apk/src/main/res/menu/menu_flash.xml diff --git a/app/src/main/res/menu/menu_home_md2.xml b/app/apk/src/main/res/menu/menu_home_md2.xml similarity index 100% rename from app/src/main/res/menu/menu_home_md2.xml rename to app/apk/src/main/res/menu/menu_home_md2.xml diff --git a/app/src/main/res/menu/menu_log_md2.xml b/app/apk/src/main/res/menu/menu_log_md2.xml similarity index 100% rename from app/src/main/res/menu/menu_log_md2.xml rename to app/apk/src/main/res/menu/menu_log_md2.xml diff --git a/app/src/main/res/menu/menu_reboot.xml b/app/apk/src/main/res/menu/menu_reboot.xml similarity index 100% rename from app/src/main/res/menu/menu_reboot.xml rename to app/apk/src/main/res/menu/menu_reboot.xml diff --git a/app/src/main/res/navigation/main.xml b/app/apk/src/main/res/navigation/main.xml similarity index 100% rename from app/src/main/res/navigation/main.xml rename to app/apk/src/main/res/navigation/main.xml diff --git a/app/src/main/res/values-night/styles_md2.xml b/app/apk/src/main/res/values-night/styles_md2.xml similarity index 100% rename from app/src/main/res/values-night/styles_md2.xml rename to app/apk/src/main/res/values-night/styles_md2.xml diff --git a/app/src/main/res/values-night/themes_md2.xml b/app/apk/src/main/res/values-night/themes_md2.xml similarity index 100% rename from app/src/main/res/values-night/themes_md2.xml rename to app/apk/src/main/res/values-night/themes_md2.xml diff --git a/app/src/main/res/values-v27/themes.xml b/app/apk/src/main/res/values-v27/themes.xml similarity index 100% rename from app/src/main/res/values-v27/themes.xml rename to app/apk/src/main/res/values-v27/themes.xml diff --git a/app/src/main/res/values-v31/themes.xml b/app/apk/src/main/res/values-v31/themes.xml similarity index 100% rename from app/src/main/res/values-v31/themes.xml rename to app/apk/src/main/res/values-v31/themes.xml diff --git a/app/src/main/res/values/attrs.xml b/app/apk/src/main/res/values/attrs.xml similarity index 100% rename from app/src/main/res/values/attrs.xml rename to app/apk/src/main/res/values/attrs.xml diff --git a/app/src/main/res/values/dimens.xml b/app/apk/src/main/res/values/dimens.xml similarity index 100% rename from app/src/main/res/values/dimens.xml rename to app/apk/src/main/res/values/dimens.xml diff --git a/app/src/main/res/values/styles_md2.xml b/app/apk/src/main/res/values/styles_md2.xml similarity index 100% rename from app/src/main/res/values/styles_md2.xml rename to app/apk/src/main/res/values/styles_md2.xml diff --git a/app/src/main/res/values/styles_md2_appearance.xml b/app/apk/src/main/res/values/styles_md2_appearance.xml similarity index 100% rename from app/src/main/res/values/styles_md2_appearance.xml rename to app/apk/src/main/res/values/styles_md2_appearance.xml diff --git a/app/src/main/res/values/styles_md2_impl.xml b/app/apk/src/main/res/values/styles_md2_impl.xml similarity index 100% rename from app/src/main/res/values/styles_md2_impl.xml rename to app/apk/src/main/res/values/styles_md2_impl.xml diff --git a/app/src/main/res/values/styles_view_md2.xml b/app/apk/src/main/res/values/styles_view_md2.xml similarity index 100% rename from app/src/main/res/values/styles_view_md2.xml rename to app/apk/src/main/res/values/styles_view_md2.xml diff --git a/app/src/main/res/values/theme_overlay.xml b/app/apk/src/main/res/values/theme_overlay.xml similarity index 100% rename from app/src/main/res/values/theme_overlay.xml rename to app/apk/src/main/res/values/theme_overlay.xml diff --git a/app/src/main/res/values/themes.xml b/app/apk/src/main/res/values/themes.xml similarity index 100% rename from app/src/main/res/values/themes.xml rename to app/apk/src/main/res/values/themes.xml diff --git a/app/src/main/res/values/themes_md2.xml b/app/apk/src/main/res/values/themes_md2.xml similarity index 100% rename from app/src/main/res/values/themes_md2.xml rename to app/apk/src/main/res/values/themes_md2.xml diff --git a/app/src/main/res/values/themes_override.xml b/app/apk/src/main/res/values/themes_override.xml similarity index 100% rename from app/src/main/res/values/themes_override.xml rename to app/apk/src/main/res/values/themes_override.xml diff --git a/build.py b/build.py index e50c2e539..25377b7e5 100755 --- a/build.py +++ b/build.py @@ -486,14 +486,19 @@ def build_apk(args, module): def build_app(args): header("* Building the Magisk app") - build_apk(args, ":app") + build_apk(args, ":app:apk") + + build_type = "release" if args.release else "debug" + + # Rename apk-variant.apk to app-variant.apk + source = config["outdir"] / f"apk-{build_type}.apk" + target = config["outdir"] / f"app-{build_type}.apk" + mv(source, target) # Stub building is directly integrated into the main app # build process. Copy the stub APK into output directory. - build_type = "release" if args.release else "debug" - apk = f"stub-{build_type}.apk" source = Path("app", "core", "src", build_type, "assets", "stub.apk") - target = config["outdir"] / apk + target = config["outdir"] / f"stub-{build_type}.apk" cp(source, target) @@ -531,7 +536,7 @@ def cleanup(args): execv( [ gradlew, - ":app:clean", + ":app:apk:clean", ":app:core:clean", ":app:shared:clean", ":app:stub:clean", diff --git a/settings.gradle.kts b/settings.gradle.kts index 2a66abe2a..b7f5ff8a7 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -8,4 +8,4 @@ dependencyResolutionManagement { } } rootProject.name = "Magisk" -include(":app", ":app:core", ":app:shared", ":app:stub", ":native") +include(":app:apk", ":app:core", ":app:shared", ":app:stub", ":native")