├── .gitattributes ├── .gitignore ├── Bcore ├── .gitignore ├── black-fake │ ├── .gitignore │ ├── build.gradle │ ├── consumer-rules.pro │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ └── java │ │ ├── android │ │ ├── app │ │ │ ├── ActivityThread.java │ │ │ └── ContentProviderHolder.java │ │ ├── content │ │ │ ├── IContentProvider.java │ │ │ ├── SyncInfo.java │ │ │ ├── SyncStatusInfo.java │ │ │ └── pm │ │ │ │ ├── ManifestDigest.java │ │ │ │ ├── PackageParser.java │ │ │ │ ├── PackageUserState.java │ │ │ │ └── VerifierInfo.java │ │ ├── location │ │ │ └── LocationRequest.java │ │ └── os │ │ │ ├── Environment$UserEnvironment.java │ │ │ ├── ParcelableException.java │ │ │ ├── SELinux.java │ │ │ └── ServiceManager.java │ │ └── com │ │ └── hello │ │ └── sandbox │ │ └── fake │ │ └── FakeCore.java ├── black-hook │ ├── .gitignore │ ├── build.gradle │ ├── consumer-rules.pro │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ └── java │ │ └── top │ │ └── niunaijun │ │ └── jnihook │ │ ├── MethodUtils.java │ │ ├── ReflectCore.java │ │ └── jni │ │ └── JniHook.java ├── build.gradle ├── consumer-rules.pro ├── pine-core │ ├── .gitignore │ ├── build.gradle │ ├── consumer-rules.pro │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── cpp │ │ ├── CMakeLists.txt │ │ ├── android.cpp │ │ ├── android.h │ │ ├── art │ │ │ ├── access_flags.h │ │ │ ├── art_method.cpp │ │ │ ├── art_method.h │ │ │ ├── gc_defs.h │ │ │ ├── jit.cpp │ │ │ ├── jit.h │ │ │ ├── object.h │ │ │ ├── thread.cpp │ │ │ └── thread.h │ │ ├── jni_bridge.cpp │ │ ├── jni_bridge.h │ │ ├── pine.cpp │ │ ├── pine_config.h │ │ ├── ruler.cpp │ │ ├── trampoline │ │ │ ├── arch │ │ │ │ ├── arch.h │ │ │ │ ├── arm32.S │ │ │ │ ├── arm32.cpp │ │ │ │ ├── arm32.h │ │ │ │ ├── arm64.S │ │ │ │ ├── arm64.cpp │ │ │ │ ├── arm64.h │ │ │ │ ├── thumb2.S │ │ │ │ ├── thumb2.cpp │ │ │ │ ├── thumb2.h │ │ │ │ ├── trampolines.h │ │ │ │ ├── x86.cpp │ │ │ │ └── x86.h │ │ │ ├── extras.h │ │ │ ├── trampoline_installer.cpp │ │ │ └── trampoline_installer.h │ │ └── utils │ │ │ ├── elf_img.cpp │ │ │ ├── elf_img.h │ │ │ ├── io_wrapper.h │ │ │ ├── jni_helper.h │ │ │ ├── lock.h │ │ │ ├── log.h │ │ │ ├── macros.h │ │ │ ├── member.h │ │ │ ├── memory.cpp │ │ │ ├── memory.h │ │ │ ├── scoped_local_ref.h │ │ │ ├── scoped_memory_access_protection.cpp │ │ │ ├── scoped_memory_access_protection.h │ │ │ ├── well_known_classes.cpp │ │ │ └── well_known_classes.h │ │ └── java │ │ └── top │ │ └── canyie │ │ └── pine │ │ ├── Pine.java │ │ ├── PineConfig.java │ │ ├── Ruler.java │ │ ├── callback │ │ ├── MethodHook.java │ │ └── MethodReplacement.java │ │ ├── entry │ │ ├── Arm32Entry.java │ │ ├── Arm64Entry.java │ │ └── X86Entry.java │ │ └── utils │ │ ├── Primitives.java │ │ ├── ReflectionHelper.java │ │ └── Three.java ├── pine-xposed-res │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ └── java │ │ ├── android │ │ ├── app │ │ │ └── AndroidAppHelper.java │ │ └── content │ │ │ └── res │ │ │ ├── CompatibilityInfo.java │ │ │ ├── XModuleResources.java │ │ │ ├── XResForwarder.java │ │ │ └── XResources.java │ │ ├── de │ │ └── robv │ │ │ └── android │ │ │ └── xposed │ │ │ ├── DexCreator.java │ │ │ ├── IXposedHookInitPackageResources.java │ │ │ ├── SELinuxHelper.java │ │ │ ├── callbacks │ │ │ ├── XC_InitPackageResources.java │ │ │ └── XC_LayoutInflated.java │ │ │ └── services │ │ │ ├── BaseService.java │ │ │ ├── DirectAccessService.java │ │ │ └── FileResult.java │ │ ├── top │ │ └── canyie │ │ │ └── dreamland │ │ │ └── utils │ │ │ └── IOUtils.java │ │ └── xposed │ │ └── dummy │ │ └── XResourcesSuperClass.java ├── pine-xposed │ ├── build.gradle │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── apacheCommonsLang │ │ ├── LICENSE.txt │ │ ├── MODIFICATIONS.txt │ │ ├── NOTICE.txt │ │ ├── RELEASE-NOTES.txt │ │ └── external │ │ │ └── org │ │ │ └── apache │ │ │ └── commons │ │ │ └── lang3 │ │ │ ├── ArrayUtils.java │ │ │ ├── CharSequenceUtils.java │ │ │ ├── CharUtils.java │ │ │ ├── ClassUtils.java │ │ │ ├── JavaVersion.java │ │ │ ├── ObjectUtils.java │ │ │ ├── StringUtils.java │ │ │ ├── SystemUtils.java │ │ │ ├── Validate.java │ │ │ ├── builder │ │ │ ├── Builder.java │ │ │ ├── CompareToBuilder.java │ │ │ ├── EqualsBuilder.java │ │ │ ├── HashCodeBuilder.java │ │ │ ├── IDKey.java │ │ │ ├── ReflectionToStringBuilder.java │ │ │ ├── ToStringBuilder.java │ │ │ ├── ToStringStyle.java │ │ │ └── package.html │ │ │ ├── exception │ │ │ ├── CloneFailedException.java │ │ │ └── package.html │ │ │ ├── mutable │ │ │ ├── Mutable.java │ │ │ ├── MutableInt.java │ │ │ └── package.html │ │ │ ├── overview.html │ │ │ ├── package.html │ │ │ ├── reflect │ │ │ ├── MemberUtils.java │ │ │ ├── MethodUtils.java │ │ │ └── package.html │ │ │ └── tuple │ │ │ ├── ImmutablePair.java │ │ │ ├── Pair.java │ │ │ └── package.html │ │ └── java │ │ ├── com │ │ └── android │ │ │ └── internal │ │ │ └── util │ │ │ └── XmlUtils.java │ │ ├── de │ │ └── robv │ │ │ └── android │ │ │ └── xposed │ │ │ ├── IXposedHookLoadPackage.java │ │ │ ├── IXposedHookZygoteInit.java │ │ │ ├── IXposedMod.java │ │ │ ├── XC_MethodHook.java │ │ │ ├── XC_MethodReplacement.java │ │ │ ├── XSharedPreferences.java │ │ │ ├── XposedBridge.java │ │ │ ├── XposedHelpers.java │ │ │ ├── callbacks │ │ │ ├── IXUnhook.java │ │ │ ├── XC_LoadPackage.java │ │ │ ├── XCallback.java │ │ │ └── package-info.java │ │ │ └── package-info.java │ │ └── top │ │ └── canyie │ │ └── pine │ │ └── xposed │ │ ├── CompoundEnumeration.java │ │ ├── ModuleClassLoader.java │ │ └── PineXposed.java ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── aidl │ └── com │ │ └── hello │ │ └── sandbox │ │ ├── core │ │ ├── IBActivityThread.aidl │ │ ├── IEmpty.aidl │ │ └── system │ │ │ ├── accounts │ │ │ └── IBAccountManagerService.aidl │ │ │ ├── am │ │ │ ├── IBActivityManagerService.aidl │ │ │ └── IBJobManagerService.aidl │ │ │ ├── location │ │ │ └── IBLocationManagerService.aidl │ │ │ ├── notification │ │ │ └── IBNotificationManagerService.aidl │ │ │ ├── os │ │ │ └── IBStorageManagerService.aidl │ │ │ ├── pm │ │ │ ├── BPackageSettings.aidl │ │ │ ├── IBPackageInstallerService.aidl │ │ │ ├── IBPackageManagerService.aidl │ │ │ └── IBXposedManagerService.aidl │ │ │ ├── sevice │ │ │ └── persistentdata │ │ │ │ └── IBPersistentDataBlockService.aidl │ │ │ └── user │ │ │ ├── BUserInfo.aidl │ │ │ └── IBUserManagerService.aidl │ │ └── entity │ │ ├── AppConfig.aidl │ │ ├── JobRecord.aidl │ │ ├── UnbindRecord.aidl │ │ ├── am │ │ ├── PendingResultData.aidl │ │ ├── ReceiverData.aidl │ │ ├── RunningAppProcessInfo.aidl │ │ └── RunningServiceInfo.aidl │ │ ├── location │ │ ├── BCell.aidl │ │ ├── BLocation.aidl │ │ └── BLocationConfig.aidl │ │ └── pm │ │ ├── InstallOption.aidl │ │ ├── InstallResult.aidl │ │ ├── InstalledModule.aidl │ │ └── InstalledPackage.aidl │ ├── assets │ ├── empty.jar │ └── junit.jar │ ├── cpp │ ├── BoxCore.cpp │ ├── BoxCore.h │ ├── CMakeLists.txt │ ├── Hook │ │ ├── BaseHook.cpp │ │ ├── BaseHook.h │ │ ├── BinderHook.cpp │ │ ├── BinderHook.h │ │ ├── RuntimeHook.cpp │ │ ├── RuntimeHook.h │ │ ├── UnixFileSystemHook.cpp │ │ ├── UnixFileSystemHook.h │ │ ├── VMClassLoaderHook.cpp │ │ └── VMClassLoaderHook.h │ ├── IO.cpp │ ├── IO.h │ ├── JniHook │ │ ├── ArtMethod.h │ │ ├── JniHook.cpp │ │ └── JniHook.h │ ├── Log.h │ └── Utils │ │ ├── HexDump.cpp │ │ ├── HexDump.h │ │ ├── PointerCheck.cpp │ │ ├── PointerCheck.h │ │ ├── fake_dlfcn.cpp │ │ └── fake_dlfcn.h │ ├── java │ └── com │ │ ├── android │ │ └── internal │ │ │ └── infra │ │ │ └── AndroidFuture.java │ │ └── hello │ │ └── sandbox │ │ ├── SandBoxCore.java │ │ ├── app │ │ ├── BActivityThread.java │ │ ├── LauncherActivity.java │ │ ├── configuration │ │ │ ├── AppLifecycleCallback.java │ │ │ └── ClientConfiguration.java │ │ └── dispatcher │ │ │ ├── AppJobServiceDispatcher.java │ │ │ └── AppServiceDispatcher.java │ │ ├── core │ │ ├── CrashHandler.java │ │ ├── GmsCore.java │ │ ├── IOCore.java │ │ ├── NativeCore.java │ │ ├── env │ │ │ ├── AppSystemEnv.java │ │ │ ├── BEnvironment.java │ │ │ └── VirtualRuntime.java │ │ └── system │ │ │ ├── BProcessManagerService.java │ │ │ ├── BlackBoxSystem.java │ │ │ ├── DaemonService.java │ │ │ ├── ISystemService.java │ │ │ ├── ProcessRecord.java │ │ │ ├── ServiceManager.java │ │ │ ├── SystemCallProvider.java │ │ │ ├── accounts │ │ │ ├── BAccount.java │ │ │ ├── BAccountManagerService.java │ │ │ ├── BUserAccounts.java │ │ │ ├── RegisteredServicesParser.java │ │ │ └── TokenCache.java │ │ │ ├── am │ │ │ ├── ActiveServices.java │ │ │ ├── ActivityRecord.java │ │ │ ├── ActivityStack.java │ │ │ ├── BActivityManagerService.java │ │ │ ├── BJobManagerService.java │ │ │ ├── BroadcastManager.java │ │ │ ├── PendingIntentRecord.java │ │ │ ├── TaskRecord.java │ │ │ └── UserSpace.java │ │ │ ├── location │ │ │ ├── BLocationManagerService.java │ │ │ └── LocationRecord.java │ │ │ ├── notification │ │ │ ├── BNotificationManagerService.java │ │ │ ├── NotificationChannelManager.java │ │ │ └── NotificationRecord.java │ │ │ ├── os │ │ │ └── BStorageManagerService.java │ │ │ ├── pm │ │ │ ├── BPackage.java │ │ │ ├── BPackageInstallerService.java │ │ │ ├── BPackageManagerService.java │ │ │ ├── BPackageSettings.java │ │ │ ├── BPackageUserState.java │ │ │ ├── BXposedManagerService.java │ │ │ ├── ComponentResolver.java │ │ │ ├── FastImmutableArraySet.java │ │ │ ├── IntentResolver.java │ │ │ ├── PackageManagerCompat.java │ │ │ ├── PackageMonitor.java │ │ │ ├── Settings.java │ │ │ ├── SharedUserSetting.java │ │ │ └── installer │ │ │ │ ├── CopyExecutor.java │ │ │ │ ├── CreatePackageExecutor.java │ │ │ │ ├── CreateUserExecutor.java │ │ │ │ ├── Executor.java │ │ │ │ ├── RemoveAppExecutor.java │ │ │ │ └── RemoveUserExecutor.java │ │ │ └── user │ │ │ ├── BUserHandle.java │ │ │ ├── BUserInfo.java │ │ │ ├── BUserManagerService.java │ │ │ └── BUserStatus.java │ │ ├── entity │ │ ├── AppConfig.java │ │ ├── JobRecord.java │ │ ├── ServiceRecord.java │ │ ├── UnbindRecord.java │ │ ├── am │ │ │ ├── PendingResultData.java │ │ │ ├── ReceiverData.java │ │ │ ├── RunningAppProcessInfo.java │ │ │ └── RunningServiceInfo.java │ │ ├── location │ │ │ ├── BCell.java │ │ │ ├── BLocation.java │ │ │ └── BLocationConfig.java │ │ └── pm │ │ │ ├── InstallOption.java │ │ │ ├── InstallResult.java │ │ │ ├── InstalledModule.java │ │ │ ├── InstalledPackage.java │ │ │ └── XposedConfig.java │ │ ├── fake │ │ ├── delegate │ │ │ ├── AppInstrumentation.java │ │ │ ├── BaseInstrumentationDelegate.java │ │ │ ├── ContentProviderDelegate.java │ │ │ ├── DelegateHwEnvironment$UserEnvironment.java │ │ │ ├── InnerReceiverDelegate.java │ │ │ └── ServiceConnectionDelegate.java │ │ ├── frameworks │ │ │ ├── BAccountManager.java │ │ │ ├── BActivityManager.java │ │ │ ├── BJobManager.java │ │ │ ├── BLocationManager.java │ │ │ ├── BNotificationManager.java │ │ │ ├── BPackageManager.java │ │ │ ├── BStorageManager.java │ │ │ ├── BUserManager.java │ │ │ ├── BXposedManager.java │ │ │ └── BlackManager.java │ │ ├── hook │ │ │ ├── BinderInvocationStub.java │ │ │ ├── ClassInvocationStub.java │ │ │ ├── HookManager.java │ │ │ ├── IInjectHook.java │ │ │ ├── MethodHook.java │ │ │ ├── ProxyMethod.java │ │ │ ├── ProxyMethods.java │ │ │ ├── ReplacePackageNameMethodHook.java │ │ │ └── ScanClass.java │ │ ├── provider │ │ │ ├── FileProvider.java │ │ │ └── FileProviderHandler.java │ │ └── service │ │ │ ├── ActivityManagerCommonProxy.java │ │ │ ├── HCallbackProxy.java │ │ │ ├── IAccessibilityManagerProxy.java │ │ │ ├── IAccountManagerProxy.java │ │ │ ├── IActivityClientProxy.java │ │ │ ├── IActivityManagerProxy.java │ │ │ ├── IActivityTaskManagerProxy.java │ │ │ ├── IAlarmManagerProxy.java │ │ │ ├── IAppOpsManagerProxy.java │ │ │ ├── IAppWidgetManagerProxy.java │ │ │ ├── IAutofillManagerProxy.java │ │ │ ├── IClipboardManagerProxy.java │ │ │ ├── IConnectivityManagerProxy.java │ │ │ ├── IContextHubServiceProxy.java │ │ │ ├── IDeviceIdentifiersPolicyProxy.java │ │ │ ├── IDevicePolicyManagerProxy.java │ │ │ ├── IDisplayManagerProxy.java │ │ │ ├── IFingerprintManagerProxy.java │ │ │ ├── IGraphicsStatsProxy.java │ │ │ ├── IJobServiceProxy.java │ │ │ ├── ILauncherAppsProxy.java │ │ │ ├── ILocationManagerProxy.java │ │ │ ├── IMediaRouterServiceProxy.java │ │ │ ├── IMediaSessionManagerProxy.java │ │ │ ├── INetworkManagementServiceProxy.java │ │ │ ├── INotificationManagerProxy.java │ │ │ ├── IPackageManagerProxy.java │ │ │ ├── IPermissionManagerProxy.java │ │ │ ├── IPersistentDataBlockServiceProxy.java │ │ │ ├── IPhoneSubInfoProxy.java │ │ │ ├── IPowerManagerProxy.java │ │ │ ├── IShortcutManagerProxy.java │ │ │ ├── IStorageManagerProxy.java │ │ │ ├── IStorageStatsManagerProxy.java │ │ │ ├── ISystemUpdateProxy.java │ │ │ ├── ITelephonyManagerProxy.java │ │ │ ├── ITelephonyRegistryProxy.java │ │ │ ├── IUserManagerProxy.java │ │ │ ├── IVibratorServiceProxy.java │ │ │ ├── IVpnManagerProxy.java │ │ │ ├── IWifiManagerProxy.java │ │ │ ├── IWifiScannerProxy.java │ │ │ ├── IWindowManagerProxy.java │ │ │ ├── IWindowSessionProxy.java │ │ │ ├── VpnCommonProxy.java │ │ │ ├── base │ │ │ ├── AndroidFutureMethodProxy.java │ │ │ ├── PkgMethodProxy.java │ │ │ ├── UidMethodProxy.java │ │ │ └── ValueMethodProxy.java │ │ │ ├── context │ │ │ ├── ContentServiceStub.java │ │ │ ├── RestrictionsManagerStub.java │ │ │ └── providers │ │ │ │ ├── BContentProvider.java │ │ │ │ ├── ContentProviderStub.java │ │ │ │ └── SystemProviderStub.java │ │ │ ├── libcore │ │ │ └── OsStub.java │ │ │ └── serviceManager │ │ │ ├── FieldRemoteProxy.java │ │ │ ├── FieldServiceManagerProxy.java │ │ │ └── ServiceManagerProxy.java │ │ ├── proxy │ │ ├── ProxyActivity.java │ │ ├── ProxyBroadcastReceiver.java │ │ ├── ProxyContentProvider.java │ │ ├── ProxyJobService.java │ │ ├── ProxyManifest.java │ │ ├── ProxyPendingActivity.java │ │ ├── ProxyService.java │ │ ├── ProxyVpnService.java │ │ ├── TransparentProxyActivity.java │ │ └── record │ │ │ ├── ProxyActivityRecord.java │ │ │ ├── ProxyBroadcastRecord.java │ │ │ ├── ProxyPendingRecord.java │ │ │ └── ProxyServiceRecord.java │ │ └── utils │ │ ├── AbiUtils.java │ │ ├── ArrayUtils.java │ │ ├── CloseUtils.java │ │ ├── ComponentUtils.java │ │ ├── DrawableUtils.java │ │ ├── FileUtils.java │ │ ├── HackAppUtils.java │ │ ├── Md5Utils.java │ │ ├── MethodParameterUtils.java │ │ ├── NativeUtils.java │ │ ├── QQUtils.java │ │ ├── ReflectionClass.java │ │ ├── Reflector.java │ │ ├── RomUtil.java │ │ ├── ShellUtils.java │ │ ├── Slog.java │ │ ├── TrieTree.java │ │ ├── compat │ │ ├── AccountManagerCompat.java │ │ ├── ActivityCompat.java │ │ ├── ActivityManagerCompat.java │ │ ├── ApplicationThreadCompat.java │ │ ├── BuildCompat.java │ │ ├── BundleCompat.java │ │ ├── ContentProviderCompat.java │ │ ├── ContextCompat.java │ │ ├── DexFileCompat.java │ │ ├── PackageParserCompat.java │ │ ├── ParceledListSliceCompat.java │ │ ├── StartActivityCompat.java │ │ ├── StrictModeCompat.java │ │ ├── SystemPropertiesCompat.java │ │ ├── TaskDescriptionCompat.java │ │ └── XposedParserCompat.java │ │ └── provider │ │ └── ProviderCall.java │ └── res │ ├── drawable │ └── ic_launcher.png │ ├── layout │ └── activity_launcher.xml │ ├── values │ ├── strings.xml │ └── styles.xml │ └── xml │ └── filepath.xml ├── LICENSE ├── README.md ├── android-mirror ├── .gitignore ├── build.gradle ├── consumer-rules.pro ├── proguard-rules.pro └── src │ ├── main │ ├── AndroidManifest.xml │ ├── aidl │ │ ├── android │ │ │ ├── accounts │ │ │ │ ├── IAccountAuthenticator.aidl │ │ │ │ ├── IAccountAuthenticatorResponse.aidl │ │ │ │ └── IAccountManagerResponse.aidl │ │ │ ├── app │ │ │ │ ├── IActivityManager │ │ │ │ │ └── ContentProviderHolder.aidl │ │ │ │ ├── IServiceConnection.aidl │ │ │ │ ├── IStopUserCallback.aidl │ │ │ │ ├── IWallpaperManagerCallback.aidl │ │ │ │ └── job │ │ │ │ │ ├── IJobCallback.aidl │ │ │ │ │ ├── IJobService.aidl │ │ │ │ │ └── JobWorkItem.aidl │ │ │ ├── content │ │ │ │ ├── IIntentReceiver.aidl │ │ │ │ ├── ISyncAdapter.aidl │ │ │ │ ├── ISyncContext.aidl │ │ │ │ ├── ISyncStatusObserver.aidl │ │ │ │ ├── SyncStatusInfo.aidl │ │ │ │ └── pm │ │ │ │ │ ├── IPackageDataObserver.aidl │ │ │ │ │ ├── IPackageDeleteObserver2.aidl │ │ │ │ │ ├── IPackageInstallObserver.aidl │ │ │ │ │ ├── IPackageInstallObserver2.aidl │ │ │ │ │ ├── IPackageInstallerCallback.aidl │ │ │ │ │ └── IPackageInstallerSession.aidl │ │ │ ├── database │ │ │ │ └── IContentObserver.aidl │ │ │ ├── location │ │ │ │ └── ILocationListener.aidl │ │ │ ├── net │ │ │ │ ├── IConnectivityManager.aidl │ │ │ │ └── wifi │ │ │ │ │ └── IWifiScanner.aidl │ │ │ └── os │ │ │ │ └── ISystemUpdateManager.aidl │ │ └── com │ │ │ └── android │ │ │ └── internal │ │ │ └── widget │ │ │ └── ILockSettings.aidl │ └── java │ │ └── black │ │ ├── android │ │ ├── accounts │ │ │ └── IAccountManager.java │ │ ├── app │ │ │ ├── Activity.java │ │ │ ├── ActivityClient.java │ │ │ ├── ActivityManager.java │ │ │ ├── ActivityManagerNative.java │ │ │ ├── ActivityManagerOreo.java │ │ │ ├── ActivityTaskManager.java │ │ │ ├── ActivityThread.java │ │ │ ├── ActivityThreadNMR1.java │ │ │ ├── ActivityThreadQ.java │ │ │ ├── ActivityThreadR.java │ │ │ ├── AlarmManager.java │ │ │ ├── AppOpsManager.java │ │ │ ├── ApplicationThreadNative.java │ │ │ ├── ClientTransactionHandler.java │ │ │ ├── ComponentOptions.java │ │ │ ├── ContextImpl.java │ │ │ ├── ContextImplICS.java │ │ │ ├── ContextImplKitkat.java │ │ │ ├── IActivityManager.java │ │ │ ├── IActivityManagerL.java │ │ │ ├── IActivityManagerN.java │ │ │ ├── IActivityTaskManager.java │ │ │ ├── IAlarmManager.java │ │ │ ├── IApplicationThread.java │ │ │ ├── IApplicationThreadOreo.java │ │ │ ├── ISearchManager.java │ │ │ ├── IServiceConnectionO.java │ │ │ ├── IUsageStatsManager.java │ │ │ ├── IWallpaperManager.java │ │ │ ├── Instrumentation.java │ │ │ ├── LoadedApk.java │ │ │ ├── LoadedApkHuaWei.java │ │ │ ├── LoadedApkICS.java │ │ │ ├── LoadedApkKitkat.java │ │ │ ├── Notification.java │ │ │ ├── NotificationChannel.java │ │ │ ├── NotificationChannelGroup.java │ │ │ ├── NotificationL.java │ │ │ ├── NotificationM.java │ │ │ ├── NotificationManager.java │ │ │ ├── NotificationO.java │ │ │ ├── PendingIntentJBMR2.java │ │ │ ├── PendingIntentO.java │ │ │ ├── Service.java │ │ │ ├── ServiceStartArgs.java │ │ │ ├── SharedPreferencesImpl.java │ │ │ ├── WallpaperManager.java │ │ │ ├── admin │ │ │ │ └── IDevicePolicyManager.java │ │ │ ├── backup │ │ │ │ └── IBackupManager.java │ │ │ ├── job │ │ │ │ ├── IJobScheduler.java │ │ │ │ ├── JobInfo.java │ │ │ │ ├── JobParameters.java │ │ │ │ └── JobWorkItem.java │ │ │ ├── role │ │ │ │ └── IRoleManager.java │ │ │ ├── servertransaction │ │ │ │ ├── ActivityLifecycleItem.java │ │ │ │ ├── ActivityResultItem.java │ │ │ │ ├── ClientTransaction.java │ │ │ │ ├── LaunchActivityItem.java │ │ │ │ └── TopResumedActivityChangeItem.java │ │ │ └── usage │ │ │ │ ├── IStorageStatsManager.java │ │ │ │ └── StorageStats.java │ │ ├── content │ │ │ ├── AttributionSource.java │ │ │ ├── AttributionSourceState.java │ │ │ ├── BroadcastReceiver.java │ │ │ ├── ClipboardManager.java │ │ │ ├── ClipboardManagerOreo.java │ │ │ ├── ContentProviderClient.java │ │ │ ├── ContentProviderClientQ.java │ │ │ ├── ContentProviderHolderOreo.java │ │ │ ├── ContentProviderNative.java │ │ │ ├── ContentResolver.java │ │ │ ├── IClipboard.java │ │ │ ├── IContentProvider.java │ │ │ ├── IContentService.java │ │ │ ├── IIntentReceiver.java │ │ │ ├── IRestrictionsManager.java │ │ │ ├── IntentFilter.java │ │ │ ├── IntentSender.java │ │ │ ├── PeriodicSync.java │ │ │ ├── SyncAdapterType.java │ │ │ ├── SyncAdapterTypeN.java │ │ │ ├── SyncInfo.java │ │ │ ├── SyncRequest.java │ │ │ ├── pm │ │ │ │ ├── ApplicationInfoL.java │ │ │ │ ├── ApplicationInfoN.java │ │ │ │ ├── ApplicationInfoP.java │ │ │ │ ├── ILauncherApps.java │ │ │ │ ├── IShortcutService.java │ │ │ │ ├── LauncherApps.java │ │ │ │ ├── PackageInstaller.java │ │ │ │ ├── PackageParser.java │ │ │ │ ├── PackageParserLollipop.java │ │ │ │ ├── PackageParserLollipop22.java │ │ │ │ ├── PackageParserMarshmallow.java │ │ │ │ ├── PackageParserNougat.java │ │ │ │ ├── PackageParserPie.java │ │ │ │ ├── PackageUserState.java │ │ │ │ ├── ParceledListSlice.java │ │ │ │ ├── SigningInfo.java │ │ │ │ └── UserInfo.java │ │ │ └── res │ │ │ │ ├── AssetManager.java │ │ │ │ └── CompatibilityInfo.java │ │ ├── ddm │ │ │ └── DdmHandleAppName.java │ │ ├── graphics │ │ │ └── Compatibility.java │ │ ├── hardware │ │ │ ├── display │ │ │ │ ├── DisplayManagerGlobal.java │ │ │ │ └── IDisplayManager.java │ │ │ └── location │ │ │ │ └── IContextHubService.java │ │ ├── location │ │ │ ├── GpsStatus.java │ │ │ ├── GpsStatusL.java │ │ │ ├── ILocationListener.java │ │ │ ├── ILocationManager.java │ │ │ ├── LocationManager.java │ │ │ ├── LocationManagerQ.java │ │ │ ├── LocationRequestL.java │ │ │ └── provider │ │ │ │ └── ProviderProperties.java │ │ ├── media │ │ │ ├── AudioManager.java │ │ │ ├── IAudioService.java │ │ │ ├── IMediaRouterService.java │ │ │ ├── MediaRouter.java │ │ │ └── session │ │ │ │ └── ISessionManager.java │ │ ├── net │ │ │ ├── IConnectivityManager.java │ │ │ ├── IVpnManager.java │ │ │ ├── NetworkInfo.java │ │ │ └── wifi │ │ │ │ ├── IWifiManager.java │ │ │ │ ├── WifiInfo.java │ │ │ │ ├── WifiManager.java │ │ │ │ ├── WifiScanner.java │ │ │ │ └── WifiSsid.java │ │ ├── nfc │ │ │ └── INfcAdapter.java │ │ ├── os │ │ │ ├── BaseBundle.java │ │ │ ├── Build.java │ │ │ ├── Bundle.java │ │ │ ├── BundleICS.java │ │ │ ├── DropBoxManager.java │ │ │ ├── Environment.java │ │ │ ├── Handler.java │ │ │ ├── IDeviceIdentifiersPolicyService.java │ │ │ ├── INetworkManagementService.java │ │ │ ├── IPowerManager.java │ │ │ ├── IUserManager.java │ │ │ ├── IVibratorManagerService.java │ │ │ ├── MemoryFile.java │ │ │ ├── Message.java │ │ │ ├── Parcel.java │ │ │ ├── Process.java │ │ │ ├── ServiceManager.java │ │ │ ├── ServiceManagerProxy.java │ │ │ ├── StrictMode.java │ │ │ ├── UserHandle.java │ │ │ ├── health │ │ │ │ └── SystemHealthManager.java │ │ │ ├── mount │ │ │ │ └── IMountService.java │ │ │ └── storage │ │ │ │ ├── IStorageManager.java │ │ │ │ ├── StorageManager.java │ │ │ │ └── StorageVolume.java │ │ ├── permission │ │ │ └── IPermissionManager.java │ │ ├── providers │ │ │ └── Settings.java │ │ ├── renderscript │ │ │ └── RenderScriptCacheDir.java │ │ ├── rms │ │ │ ├── HwSysResImplP.java │ │ │ └── resource │ │ │ │ ├── ReceiverResourceLP.java │ │ │ │ ├── ReceiverResourceM.java │ │ │ │ ├── ReceiverResourceN.java │ │ │ │ └── ReceiverResourceO.java │ │ ├── security │ │ │ └── net │ │ │ │ └── config │ │ │ │ └── NetworkSecurityConfigProvider.java │ │ ├── service │ │ │ ├── notification │ │ │ │ └── StatusBarNotification.java │ │ │ └── persistentdata │ │ │ │ └── IPersistentDataBlockService.java │ │ ├── telephony │ │ │ ├── CellIdentityCdma.java │ │ │ ├── CellIdentityGsm.java │ │ │ ├── CellInfoCdma.java │ │ │ ├── CellInfoGsm.java │ │ │ ├── CellSignalStrengthCdma.java │ │ │ ├── CellSignalStrengthGsm.java │ │ │ ├── NeighboringCellInfo.java │ │ │ ├── SmsManager.java │ │ │ └── TelephonyManager.java │ │ ├── util │ │ │ └── Singleton.java │ │ ├── view │ │ │ ├── CompatibilityInfoHolder.java │ │ │ ├── Display.java │ │ │ ├── DisplayAdjustments.java │ │ │ ├── HardwareRenderer.java │ │ │ ├── IAutoFillManager.java │ │ │ ├── IGraphicsStats.java │ │ │ ├── IWindowManager.java │ │ │ ├── RenderScript.java │ │ │ ├── SurfaceControl.java │ │ │ ├── ThreadedRenderer.java │ │ │ ├── WindowManagerGlobal.java │ │ │ └── accessibility │ │ │ │ └── IAccessibilityManager.java │ │ ├── webkit │ │ │ ├── IWebViewUpdateService.java │ │ │ └── WebViewFactory.java │ │ └── widget │ │ │ ├── RemoteViews.java │ │ │ └── Toast.java │ │ ├── com │ │ ├── android │ │ │ └── internal │ │ │ │ ├── R.java │ │ │ │ ├── app │ │ │ │ ├── IAppOpsService.java │ │ │ │ ├── IBatteryStats.java │ │ │ │ └── ISmtOpsService.java │ │ │ │ ├── appwidget │ │ │ │ └── IAppWidgetService.java │ │ │ │ ├── content │ │ │ │ ├── NativeLibraryHelper.java │ │ │ │ └── ReferrerIntent.java │ │ │ │ ├── net │ │ │ │ └── VpnConfig.java │ │ │ │ ├── os │ │ │ │ ├── IDropBoxManagerService.java │ │ │ │ ├── IVibratorService.java │ │ │ │ └── UserManager.java │ │ │ │ ├── policy │ │ │ │ └── PhoneWindow.java │ │ │ │ ├── telecom │ │ │ │ └── ITelecomService.java │ │ │ │ ├── telephony │ │ │ │ ├── IMms.java │ │ │ │ ├── IPhoneSubInfo.java │ │ │ │ ├── ISms.java │ │ │ │ ├── ISub.java │ │ │ │ ├── ITelephony.java │ │ │ │ ├── ITelephonyRegistry.java │ │ │ │ └── PhoneConstantsMtk.java │ │ │ │ └── view │ │ │ │ ├── IInputMethodManager.java │ │ │ │ └── inputmethod │ │ │ │ └── InputMethodManager.java │ │ └── cosmos │ │ │ └── apm │ │ │ └── framework │ │ │ └── page │ │ │ └── ActivityLifeCycleHelper$ApplicationInstrumentation.java │ │ ├── dalvik │ │ └── system │ │ │ ├── BaseDexClassLoader.java │ │ │ └── VMRuntime.java │ │ ├── java │ │ ├── io │ │ │ ├── File.java │ │ │ ├── FileSystem.java │ │ │ └── UnixFileSystem.java │ │ └── lang │ │ │ ├── ThreadGroup.java │ │ │ └── ThreadGroupN.java │ │ └── libcore │ │ └── io │ │ ├── ForwardingOs.java │ │ ├── Libcore.java │ │ └── Os.java │ └── test │ └── java │ └── top │ └── niunaijun │ └── android_mirror │ └── ExampleUnitTest.java ├── app ├── .gitignore ├── abi.gradle ├── build.gradle ├── gradle.properties ├── proguard-rules.pro ├── signing.gradle └── src │ └── main │ ├── AndroidManifest.xml │ ├── aidl │ └── top │ │ └── niunaijun │ │ └── blackboxa │ │ └── screen │ │ ├── IScreenOrientation.aidl │ │ └── ScreenFlippedListener.aidl │ ├── assets │ └── web │ │ ├── question │ │ ├── feedback.html │ │ ├── index.html │ │ └── static │ │ │ ├── index.01f33615.js │ │ │ ├── index.b636badd.js │ │ │ ├── tool-feedback.b88b0735.css │ │ │ ├── tool-question.57cfb5d0.css │ │ │ ├── utilBase.4c52c267.js │ │ │ ├── vendors.02673505.js │ │ │ ├── vendors.1dd75b49.js │ │ │ └── vueBase.1d2eecb9.js │ │ └── user-protocol │ │ ├── index.css │ │ ├── index.html │ │ └── protocol.html │ ├── java │ ├── com │ │ └── hello │ │ │ └── sandbox │ │ │ ├── ui │ │ │ ├── home │ │ │ │ └── ViewPager2Adapter.java │ │ │ └── search │ │ │ │ └── SortComparator.java │ │ │ ├── util │ │ │ ├── ChannelHelper.java │ │ │ ├── DeviceHelper.java │ │ │ ├── EncryptUtil.java │ │ │ ├── MarketHelper.java │ │ │ ├── SharedPrefUtils.java │ │ │ └── StringUtils.java │ │ │ └── view │ │ │ ├── FakeHomeView.java │ │ │ ├── SideBarLayout.java │ │ │ ├── SideBarSortView.java │ │ │ └── pager2banner │ │ │ ├── Banner.java │ │ │ ├── Indicator.java │ │ │ ├── IndicatorView.java │ │ │ └── ScaleInTransformer.java │ └── top │ │ └── niunaijun │ │ └── blackboxa │ │ ├── util │ │ ├── MathUtil.java │ │ └── Resolution.java │ │ └── widget │ │ └── RockerView.java │ ├── kotlin │ ├── com │ │ └── hello │ │ │ └── sandbox │ │ │ ├── Constant.kt │ │ │ ├── ui │ │ │ ├── WebviewAct.kt │ │ │ ├── about │ │ │ │ └── AboutAct.kt │ │ │ ├── appIcon │ │ │ │ ├── ChangeAppIconActivity.kt │ │ │ │ ├── ChangeAppIconPopup.kt │ │ │ │ └── FakeSplashAct.kt │ │ │ ├── base │ │ │ │ └── BaseAct.kt │ │ │ ├── cala │ │ │ │ └── CalcActivity.kt │ │ │ ├── guide │ │ │ │ ├── GuideAdapter.kt │ │ │ │ ├── GuideHelper.kt │ │ │ │ ├── HideGuideInfo.kt │ │ │ │ └── HideGuidePopup.kt │ │ │ ├── home │ │ │ │ ├── AppInstallViewModel.kt │ │ │ │ ├── AppInstallerListener.kt │ │ │ │ ├── AppInstallerReceiver.kt │ │ │ │ ├── AppsAdapter.kt │ │ │ │ ├── HomeAct.kt │ │ │ │ ├── HomeBannerInfo.kt │ │ │ │ ├── HomeFrag.kt │ │ │ │ ├── MeFrag.kt │ │ │ │ └── PageAdapter.kt │ │ │ ├── password │ │ │ │ └── SettingPasswordActivity.kt │ │ │ ├── screen │ │ │ │ ├── ScreenOrientationAction.kt │ │ │ │ ├── ScreenOrientationActivity.kt │ │ │ │ ├── ScreenOrientationHandler.kt │ │ │ │ ├── ScreenOrientationHelper.kt │ │ │ │ └── ScreenOrientationService.kt │ │ │ ├── search │ │ │ │ ├── HeaderAdapter.kt │ │ │ │ ├── HeaderAppBean.kt │ │ │ │ ├── InstallPromptPopup.kt │ │ │ │ ├── SearchAdapter.kt │ │ │ │ └── SearchListActivity.kt │ │ │ ├── splash │ │ │ │ ├── FakeHomeAct.kt │ │ │ │ ├── LoginAct.kt │ │ │ │ ├── PrivacyPolicyHelper.kt │ │ │ │ ├── PrivacyPolicyPopup.kt │ │ │ │ └── SplashAct.kt │ │ │ └── upgrade │ │ │ │ ├── AppUpgradePopup.kt │ │ │ │ ├── UpgradeAppViewModel.kt │ │ │ │ ├── UpgradeBean.kt │ │ │ │ └── UpgradeChecker.kt │ │ │ ├── user │ │ │ ├── UserLoginInfo.kt │ │ │ ├── UserManager.kt │ │ │ └── UserUtils.kt │ │ │ ├── util │ │ │ ├── DownloadHelper.kt │ │ │ ├── EnvUtil.kt │ │ │ ├── Network.kt │ │ │ ├── TimeHelper.kt │ │ │ └── ViewUtil.kt │ │ │ └── view │ │ │ ├── BasePopup.kt │ │ │ ├── HandleAppPopup.kt │ │ │ └── NoScrollViewPager.kt │ └── top │ │ └── niunaijun │ │ └── blackboxa │ │ ├── app │ │ ├── App.kt │ │ ├── AppManager.kt │ │ └── rocker │ │ │ ├── BaseActivityLifecycleCallback.kt │ │ │ └── RockerManager.kt │ │ ├── bean │ │ ├── AppInfo.kt │ │ ├── FakeLocationBean.kt │ │ ├── GmsBean.kt │ │ ├── InstalledAppBean.kt │ │ └── XpModuleInfo.kt │ │ ├── biz │ │ └── cache │ │ │ └── AppSharedPreferenceDelegate.kt │ │ ├── data │ │ ├── AppsRepository.kt │ │ ├── AppsSortCompon.kt │ │ ├── FakeLocationRepository.kt │ │ ├── GmsRepository.kt │ │ └── XpRepository.kt │ │ ├── util │ │ ├── ContextUtil.kt │ │ ├── InjectionUtil.kt │ │ ├── ResUtil.kt │ │ ├── ShortcutUtil.kt │ │ ├── ToastEx.kt │ │ └── ViewBindingEx.kt │ │ ├── view │ │ ├── apps │ │ │ ├── AppsAdapter.kt │ │ │ ├── AppsFactory.kt │ │ │ ├── AppsFragment.kt │ │ │ ├── AppsTouchCallBack.kt │ │ │ └── AppsViewModel.kt │ │ ├── base │ │ │ ├── BaseActivity.kt │ │ │ ├── BaseViewModel.kt │ │ │ └── LoadingActivity.kt │ │ ├── fake │ │ │ ├── FakeLocationAdapter.kt │ │ │ ├── FakeLocationFactory.kt │ │ │ ├── FakeLocationViewModel.kt │ │ │ ├── FakeManagerActivity.kt │ │ │ └── FollowMyLocationOverlay.kt │ │ ├── gms │ │ │ ├── GmsAdapter.kt │ │ │ ├── GmsFactory.kt │ │ │ ├── GmsManagerActivity.kt │ │ │ └── GmsViewModel.kt │ │ ├── list │ │ │ ├── ListActivity.kt │ │ │ ├── ListAdapter.kt │ │ │ ├── ListFactory.kt │ │ │ └── ListViewModel.kt │ │ ├── main │ │ │ ├── MainActivity.kt │ │ │ ├── SandBoxLoader.kt │ │ │ ├── ShortcutActivity.kt │ │ │ ├── ViewPagerAdapter.kt │ │ │ └── WelcomeActivity.kt │ │ ├── setting │ │ │ ├── SettingActivity.kt │ │ │ └── SettingFragment.kt │ │ └── xp │ │ │ ├── XpActivity.kt │ │ │ ├── XpAdapter.kt │ │ │ ├── XpFactory.kt │ │ │ └── XpViewModel.kt │ │ └── widget │ │ └── EnFloatView.kt │ └── res │ ├── drawable-anydpi │ ├── ic_add.xml │ ├── ic_location_change.xml │ └── ic_search.xml │ ├── drawable-hdpi │ ├── ic_add.png │ ├── ic_location_change.png │ └── ic_search.png │ ├── drawable-mdpi │ ├── ic_add.png │ ├── ic_location_change.png │ └── ic_search.png │ ├── drawable-v24 │ └── ic_launcher_foreground.xml │ ├── drawable-xhdpi │ ├── bottom_tab_add.png │ ├── bottom_tab_home_selected.png │ ├── bottom_tab_home_unselected.png │ ├── bottom_tab_me_selected.png │ ├── bottom_tab_me_unselected.png │ ├── fragment_me_about.png │ ├── fragment_me_help.png │ ├── fragment_me_logout.png │ ├── fragment_me_question.png │ ├── fragment_me_share.png │ ├── hide_bg_guide1.png │ ├── hide_bg_guide2.png │ ├── hide_bg_guide3.png │ ├── home_banner_1.png │ ├── home_banner_2.jpg │ ├── home_banner_3.jpeg │ ├── home_change_icon.png │ ├── home_icon_add.png │ ├── home_rotate_screen.png │ ├── home_set_secret.png │ ├── ic_add.png │ ├── ic_location_change.png │ ├── ic_search.png │ ├── icon_arrow.png │ ├── launch_bg.png │ ├── me_default_icon.png │ ├── momo_icon.png │ ├── search.webp │ ├── splash_icon.png │ ├── splash_icon_small.png │ └── tantan_icon.png │ ├── drawable-xxhdpi │ ├── bottom_tab_add.png │ ├── bottom_tab_home_selected.png │ ├── bottom_tab_home_unselected.png │ ├── bottom_tab_me_selected.png │ ├── bottom_tab_me_unselected.png │ ├── calculator_pop_close.webp │ ├── change_app_icon.png │ ├── fragment_me_about.png │ ├── fragment_me_help.png │ ├── fragment_me_logout.png │ ├── fragment_me_question.png │ ├── fragment_me_share.png │ ├── general_error.png │ ├── home_change_icon.png │ ├── home_rotate_screen.png │ ├── home_set_secret.png │ ├── ic_add.png │ ├── ic_location_change.png │ ├── ic_search.png │ ├── icon_arrow.png │ ├── icon_close.png │ ├── icon_fake.png │ ├── screen_orientation.png │ ├── search.webp │ ├── setting_password_next.png │ ├── setting_password_tip_icon.png │ ├── splash_icon.png │ └── splash_icon_small.png │ ├── drawable │ ├── edit_text_cursor_color_secret_crash.xml │ ├── home_icon_bg.xml │ ├── ic_empty.xml │ ├── ic_launcher_background.xml │ ├── shape_btn_bg.xml │ ├── shape_btn_cancel_bg.xml │ ├── shape_change_icon_normall.xml │ ├── shape_change_icon_selected.xml │ ├── shape_change_icon_selector.xml │ ├── shape_color_3ec0aa_14.xml │ ├── shape_color_3ec0aa_24.xml │ ├── shape_color_3ec0aa_32.xml │ ├── shape_color_3ec0aa_9.xml │ ├── shape_color_aaaaaa_32.xml │ ├── shape_detail_input.xml │ ├── shape_home_icon_label.xml │ ├── sort_text_bg.xml │ ├── sort_text_view_hint_bg.xml │ └── splash.xml │ ├── layout │ ├── activity_about.xml │ ├── activity_calc.xml │ ├── activity_change_app_icon.xml │ ├── activity_change_app_icon_popu.xml │ ├── activity_change_app_icon_popu_item.xml │ ├── activity_fake_home.xml │ ├── activity_gms.xml │ ├── activity_home.xml │ ├── activity_how_to_hide.xml │ ├── activity_list.xml │ ├── activity_login.xml │ ├── activity_main.xml │ ├── activity_osmdroid.xml │ ├── activity_screen_orientation.xml │ ├── activity_searchlist.xml │ ├── activity_setting.xml │ ├── activity_setting_password.xml │ ├── activity_setting_password_frag.xml │ ├── activity_setting_password_tip_frag.xml │ ├── activity_webview.xml │ ├── activity_xp.xml │ ├── app_popup.xml │ ├── app_upgrade_popup.xml │ ├── base_empty.xml │ ├── calculator_tip.xml │ ├── fake_home_view.xml │ ├── fragment_apps.xml │ ├── fragment_home.xml │ ├── fragment_me.xml │ ├── guide_pager_item.xml │ ├── home_center_layout.xml │ ├── home_item_app.xml │ ├── home_pager_item.xml │ ├── item_app.xml │ ├── item_fake.xml │ ├── item_gms.xml │ ├── item_package.xml │ ├── item_search_header.xml │ ├── item_search_package.xml │ ├── item_viewpager.xml │ ├── item_xp.xml │ ├── popup_base_layout.xml │ ├── popup_hide_guide.xml │ ├── privacy_policy_content.xml │ ├── profile_view_line.xml │ ├── search_header.xml │ ├── view_float_rocker.xml │ ├── view_sidebar_layout.xml │ ├── view_switch.xml │ └── view_toolbar.xml │ ├── menu │ ├── app_menu.xml │ ├── menu_list.xml │ ├── menu_main.xml │ └── menu_search.xml │ ├── mipmap-hdpi │ ├── ic_launcher.png │ ├── ic_launcher_beta.png │ ├── ic_launcher_round.png │ └── ic_launcher_round_beta.png │ ├── mipmap-ldpi │ ├── ic_launcher.png │ ├── ic_launcher_beta.png │ ├── ic_launcher_round.png │ └── ic_launcher_round_beta.png │ ├── mipmap-mdpi │ ├── ic_launcher.png │ ├── ic_launcher_beta.png │ ├── ic_launcher_round.png │ └── ic_launcher_round_beta.png │ ├── mipmap-xhdpi │ ├── ic_launcher.png │ ├── ic_launcher_beta.png │ ├── ic_launcher_round.png │ └── ic_launcher_round_beta.png │ ├── mipmap-xxhdpi │ ├── ic_launcher.png │ ├── ic_launcher_beta.png │ ├── ic_launcher_round.png │ └── ic_launcher_round_beta.png │ ├── mipmap-xxxhdpi │ ├── ic_launcher.png │ ├── ic_launcher_beta.png │ ├── ic_launcher_round.png │ └── ic_launcher_round_beta.png │ ├── values-zh-rCN │ └── strings.xml │ ├── values-zh-rTW │ └── strings.xml │ ├── values │ ├── attrs.xml │ ├── colors.xml │ ├── dimens.xml │ ├── strings.xml │ ├── styles.xml │ └── themes.xml │ └── xml │ ├── network_security_config.xml │ ├── provider_paths.xml │ └── setting.xml ├── assets ├── Screenshot_20230629_103013.png ├── Screenshot_20230629_103039.png └── Screenshot_20230629_103051.png ├── build.gradle ├── calc ├── .gitignore ├── build.gradle ├── consumer-rules.pro ├── copy_res.py ├── proguard-rules.pro └── src │ ├── androidTest │ └── kotlin │ │ └── com │ │ └── hello │ │ └── sandbox │ │ └── calc │ │ └── ExampleInstrumentedTest.kt │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── com │ │ │ └── hello │ │ │ └── sandbox │ │ │ └── calc │ │ │ ├── core │ │ │ ├── AutoCalc.java │ │ │ ├── AutoCalcException.java │ │ │ ├── AutoCalcInfiniteException.java │ │ │ ├── AutoCalcMath.java │ │ │ ├── AutoCalcTools.java │ │ │ └── ConvertUpMoney.java │ │ │ ├── frag │ │ │ ├── CalcFragment.java │ │ │ └── CalcResultChangeListener.java │ │ │ ├── util │ │ │ ├── AlertDialogTool.java │ │ │ ├── ExceptionUtils.java │ │ │ └── PixelTool.java │ │ │ └── view │ │ │ ├── AutofitHelper.java │ │ │ └── AutofitTextView.java │ └── res │ │ ├── anim │ │ ├── dialog_bottom_down_hide.xml │ │ ├── dialog_bottom_down_show.xml │ │ ├── dialog_bottom_up_hide.xml │ │ ├── dialog_bottom_up_show.xml │ │ ├── fade_hide.xml │ │ └── fade_show.xml │ │ ├── color │ │ └── btn_pad_number.xml │ │ ├── drawable-mdpi │ │ ├── arccos.webp │ │ ├── arcsin.webp │ │ ├── arctan.webp │ │ ├── btn_cbrt.png │ │ ├── btn_checkbox_off_normal.webp │ │ ├── btn_checkbox_on_normal.webp │ │ ├── btn_pad_ac_d.webp │ │ ├── btn_pad_ac_n.webp │ │ ├── btn_pad_c_d.webp │ │ ├── btn_pad_c_n.webp │ │ ├── btn_pad_del_d.webp │ │ ├── btn_pad_del_n.webp │ │ ├── btn_pad_div_d.webp │ │ ├── btn_pad_div_n.webp │ │ ├── btn_pad_equal_n.webp │ │ ├── btn_pad_minus_d.webp │ │ ├── btn_pad_minus_n.webp │ │ ├── btn_pad_mul_d.webp │ │ ├── btn_pad_mul_n.webp │ │ ├── btn_pad_neg.webp │ │ ├── btn_pad_percent_d.webp │ │ ├── btn_pad_percent_n.webp │ │ ├── btn_pad_plus_d.webp │ │ ├── btn_pad_plus_n.webp │ │ ├── btn_pad_switch.webp │ │ ├── btn_pow.webp │ │ ├── btn_sqrt.webp │ │ ├── comma.png │ │ ├── cos.webp │ │ ├── deg.webp │ │ ├── deg_d.webp │ │ ├── e.png │ │ ├── fac.webp │ │ ├── iconmv0001.webp │ │ ├── iconmv0002.webp │ │ ├── iconmv0003.webp │ │ ├── iconmv0004.webp │ │ ├── iconmv0005.webp │ │ ├── iconmv0006.webp │ │ ├── iconmv0007.webp │ │ ├── iconmv0008.webp │ │ ├── iconmv0009.webp │ │ ├── iconmv0010.webp │ │ ├── iconmv0011.webp │ │ ├── iconmv0012.webp │ │ ├── iconmv0013.webp │ │ ├── iconmv0014.webp │ │ ├── iconmv0015.webp │ │ ├── iconmv0016.webp │ │ ├── iconmv0017.webp │ │ ├── iconmv0018.webp │ │ ├── iconmv0019.webp │ │ ├── iconmv0020.webp │ │ ├── iconmv0021.webp │ │ ├── iconmv0022.webp │ │ ├── iconmv0023.webp │ │ ├── iconmv0024.webp │ │ ├── left_p.webp │ │ ├── lg.png │ │ ├── ln.webp │ │ ├── pi.webp │ │ ├── rad.webp │ │ ├── right_p.webp │ │ ├── rpc.webp │ │ ├── second.webp │ │ ├── second_active.png │ │ ├── second_d.webp │ │ ├── sin.webp │ │ └── tan.webp │ │ ├── drawable-xhdpi │ │ ├── btn_pad_ac_d.webp │ │ ├── btn_pad_ac_n.webp │ │ ├── btn_pad_c_d.webp │ │ ├── btn_pad_c_n.webp │ │ ├── btn_pad_del_d.webp │ │ ├── btn_pad_del_n.webp │ │ ├── btn_pad_div_d.webp │ │ ├── btn_pad_div_n.webp │ │ ├── btn_pad_dot_d.webp │ │ ├── btn_pad_dot_n.webp │ │ ├── btn_pad_equal_d.webp │ │ ├── btn_pad_equal_n.webp │ │ ├── btn_pad_minus_d.webp │ │ ├── btn_pad_minus_n.webp │ │ ├── btn_pad_mul_d.webp │ │ ├── btn_pad_mul_n.webp │ │ ├── btn_pad_neg.webp │ │ ├── btn_pad_percent_d.webp │ │ ├── btn_pad_percent_n.webp │ │ ├── btn_pad_plus_d.webp │ │ ├── btn_pad_plus_n.webp │ │ ├── iconmv0001.webp │ │ ├── iconmv0002.webp │ │ ├── iconmv0003.webp │ │ ├── iconmv0004.webp │ │ ├── iconmv0005.webp │ │ ├── iconmv0006.webp │ │ ├── iconmv0007.webp │ │ ├── iconmv0008.webp │ │ ├── iconmv0009.webp │ │ ├── iconmv0010.webp │ │ ├── iconmv0011.webp │ │ ├── iconmv0012.webp │ │ ├── iconmv0013.webp │ │ ├── iconmv0014.webp │ │ ├── iconmv0015.webp │ │ ├── iconmv0016.webp │ │ ├── iconmv0017.webp │ │ ├── iconmv0018.webp │ │ ├── iconmv0019.webp │ │ ├── iconmv0020.webp │ │ ├── iconmv0021.webp │ │ ├── iconmv0022.webp │ │ ├── iconmv0023.webp │ │ └── iconmv0024.webp │ │ ├── drawable-xxhdpi │ │ ├── arccos.webp │ │ ├── arcsin.webp │ │ ├── arctan.webp │ │ ├── btn_cbrt.png │ │ ├── btn_checkbox_off_normal.webp │ │ ├── btn_checkbox_on_normal.webp │ │ ├── btn_pad_ac_d.webp │ │ ├── btn_pad_ac_n.webp │ │ ├── btn_pad_c_d.webp │ │ ├── btn_pad_c_n.webp │ │ ├── btn_pad_del_d.webp │ │ ├── btn_pad_del_n.webp │ │ ├── btn_pad_div_d.webp │ │ ├── btn_pad_div_n.webp │ │ ├── btn_pad_dot_d.webp │ │ ├── btn_pad_dot_n.webp │ │ ├── btn_pad_equal_d.webp │ │ ├── btn_pad_equal_n.webp │ │ ├── btn_pad_minus_d.webp │ │ ├── btn_pad_minus_n.webp │ │ ├── btn_pad_mul_d.webp │ │ ├── btn_pad_mul_n.webp │ │ ├── btn_pad_neg.webp │ │ ├── btn_pad_percent_d.webp │ │ ├── btn_pad_percent_n.webp │ │ ├── btn_pad_plus_d.webp │ │ ├── btn_pad_plus_n.webp │ │ ├── btn_pad_switch.webp │ │ ├── btn_pow.webp │ │ ├── btn_sqrt.webp │ │ ├── comma.png │ │ ├── cos.webp │ │ ├── deg.webp │ │ ├── deg_d.webp │ │ ├── e.png │ │ ├── fac.webp │ │ ├── iconmv0001.webp │ │ ├── iconmv0002.webp │ │ ├── iconmv0003.webp │ │ ├── iconmv0004.webp │ │ ├── iconmv0005.webp │ │ ├── iconmv0006.webp │ │ ├── iconmv0007.webp │ │ ├── iconmv0008.webp │ │ ├── iconmv0009.webp │ │ ├── iconmv0010.webp │ │ ├── iconmv0011.webp │ │ ├── iconmv0012.webp │ │ ├── iconmv0013.webp │ │ ├── iconmv0014.webp │ │ ├── iconmv0015.webp │ │ ├── iconmv0016.webp │ │ ├── iconmv0017.webp │ │ ├── iconmv0018.webp │ │ ├── iconmv0019.webp │ │ ├── iconmv0020.webp │ │ ├── iconmv0021.webp │ │ ├── iconmv0022.webp │ │ ├── iconmv0023.webp │ │ ├── iconmv0024.webp │ │ ├── left_p.webp │ │ ├── lg.png │ │ ├── ln.webp │ │ ├── pi.webp │ │ ├── rad.webp │ │ ├── right_p.webp │ │ ├── rpc.webp │ │ ├── second.webp │ │ ├── second_active.png │ │ ├── second_d.webp │ │ ├── sin.webp │ │ └── tan.webp │ │ ├── drawable │ │ ├── btn_2nd.xml │ │ ├── btn_2nd_active.xml │ │ ├── btn_calculate.xml │ │ ├── btn_calculate_n.xml │ │ ├── btn_calculate_p.xml │ │ ├── btn_check_box.xml │ │ ├── btn_deg.xml │ │ ├── btn_pad_ac.xml │ │ ├── btn_pad_c.xml │ │ ├── btn_pad_del.xml │ │ ├── btn_pad_div.xml │ │ ├── btn_pad_dot.xml │ │ ├── btn_pad_equal.xml │ │ ├── btn_pad_minus.xml │ │ ├── btn_pad_mul.xml │ │ ├── btn_pad_number.xml │ │ ├── btn_pad_number_last.xml │ │ ├── btn_pad_number_last_n.xml │ │ ├── btn_pad_number_last_s.xml │ │ ├── btn_pad_number_last_s_n.xml │ │ ├── btn_pad_number_last_s_p.xml │ │ ├── btn_pad_number_n.xml │ │ ├── btn_pad_percent.xml │ │ ├── btn_pad_plus.xml │ │ ├── dialog_white_bg.xml │ │ ├── frame_animation_btn_switch.xml │ │ └── ic_down_small_primary.xml │ │ ├── layout │ │ ├── calc_main.xml │ │ ├── dialog_choose_mode.xml │ │ └── dialog_show_text.xml │ │ ├── values-v23 │ │ └── styles.xml │ │ └── values │ │ ├── attrs.xml │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── styles.xml │ └── test │ └── kotlin │ └── com │ └── hello │ └── sandbox │ └── calc │ └── ExampleUnitTest.kt ├── common ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── assets │ └── fonts │ │ ├── Aqum-classic.otf │ │ ├── ArialRounded-Bold.ttf │ │ ├── DINCondensed-Bold.ttf │ │ ├── Roboto-Italic.ttf │ │ ├── Roboto-Medium.ttf │ │ ├── Roboto-Regular.ttf │ │ ├── RobotoCondensed-Regular.ttf │ │ └── Semibold-Italic.ttf │ ├── java │ ├── com │ │ ├── hello │ │ │ └── sandbox │ │ │ │ └── common │ │ │ │ ├── Au.java │ │ │ │ ├── Config.java │ │ │ │ ├── Dialog.java │ │ │ │ ├── DialogBase.java │ │ │ │ ├── DialogChain.java │ │ │ │ ├── DialogExtraState.java │ │ │ │ ├── DialogLifeTracer.java │ │ │ │ ├── DialogLifecycleProvider.java │ │ │ │ ├── DlgTrackHelper.java │ │ │ │ ├── rx │ │ │ │ ├── MissingBackpressureThrowable.java │ │ │ │ ├── RxLogHelper.java │ │ │ │ └── Rxu.java │ │ │ │ ├── ui │ │ │ │ ├── CustomToast.java │ │ │ │ ├── Toast.java │ │ │ │ └── ToastManager.java │ │ │ │ └── util │ │ │ │ ├── Assert.java │ │ │ │ ├── ClipboardUtil.java │ │ │ │ ├── ContextHolder.java │ │ │ │ ├── Copies.java │ │ │ │ ├── CrashHelper.java │ │ │ │ ├── Cu.java │ │ │ │ ├── HanziToPinyin.java │ │ │ │ ├── LogUtils.java │ │ │ │ ├── MarketUtil.java │ │ │ │ ├── MeasureUtil.java │ │ │ │ ├── MetricsUtil.java │ │ │ │ ├── NullChecker.java │ │ │ │ ├── PackageUtil.java │ │ │ │ ├── RandUtil.java │ │ │ │ ├── SettingCompatHelper.java │ │ │ │ ├── SettingCompatUtil.java │ │ │ │ ├── StringsUtil.java │ │ │ │ ├── ThreadUtil.java │ │ │ │ ├── ToastUtil.java │ │ │ │ ├── UtilSDk.java │ │ │ │ ├── ViewUtil.java │ │ │ │ ├── Vu.java │ │ │ │ └── collections │ │ │ │ ├── LazilyMergedList.java │ │ │ │ ├── Quadruple.java │ │ │ │ ├── TaggedCollection.java │ │ │ │ ├── Triple.java │ │ │ │ ├── TripleElementSet.java │ │ │ │ ├── TwoElementSet.java │ │ │ │ └── Unit.java │ │ └── zhpan │ │ │ └── indicator │ │ │ ├── option │ │ │ └── AttrsController.java │ │ │ └── utils │ │ │ └── IndicatorUtils.java │ ├── org │ │ └── joor │ │ │ ├── Reflect.java │ │ │ └── ReflectException.java │ ├── rx │ │ └── android │ │ │ ├── plugins │ │ │ ├── RxAndroidPlugins.java │ │ │ └── RxAndroidSchedulersHook.java │ │ │ └── schedulers │ │ │ ├── AndroidSchedulers.java │ │ │ └── HandlerScheduler.java │ └── v │ │ ├── AAdapter.java │ │ ├── Anu.java │ │ ├── BAdapter.java │ │ ├── FastInSlowOutInterpolator.java │ │ ├── InputCodeView.java │ │ ├── OnDispatchTouchEventListener.java │ │ ├── PopupDialog.java │ │ ├── RAdapter.java │ │ ├── TDrawableFramed.java │ │ ├── TForeground.java │ │ ├── TTypeface.java │ │ ├── TTypefaceManager.java │ │ ├── TVectorDrawable.java │ │ ├── VBaseIcon.java │ │ ├── VButton.java │ │ ├── VButton_FakeShadow.java │ │ ├── VCheckBox.java │ │ ├── VFrame.java │ │ ├── VIcon.java │ │ ├── VImage.java │ │ ├── VInputConnection.java │ │ ├── VLinear.java │ │ ├── VLinear_Foreground.java │ │ ├── VList.java │ │ ├── VList_ScrollableHeight.java │ │ ├── VPager.java │ │ ├── VPagerCircleIndicator.java │ │ ├── VProgressBar.java │ │ ├── VRadioButton.java │ │ ├── VScroll.java │ │ ├── VText.java │ │ ├── navigationbar │ │ └── VNavigationBar.java │ │ ├── progressbar │ │ ├── ProgressBarUtils.java │ │ └── ProgressDrawable.java │ │ └── pushbubble │ │ ├── OnDispatchTouchEventListener.java │ │ ├── PushBubbleInfo.java │ │ ├── PushBubbleManager.java │ │ ├── SequencePushBubbleInfo.java │ │ ├── ShowLock.java │ │ ├── SimplePushBubble.java │ │ └── VFrame.java │ ├── kotlin │ └── com │ │ ├── hello │ │ └── sandbox │ │ │ └── common │ │ │ └── AppFrontBackManager.kt │ │ └── zhpan │ │ └── indicator │ │ ├── IndicatorView.kt │ │ ├── annotation │ │ ├── AIndicatorOrientation.kt │ │ ├── AIndicatorSlideMode.kt │ │ └── AIndicatorStyle.kt │ │ ├── base │ │ ├── BaseIndicatorView.kt │ │ └── IIndicator.kt │ │ ├── drawer │ │ ├── BaseDrawer.kt │ │ ├── CircleDrawer.kt │ │ ├── DashDrawer.kt │ │ ├── DrawerFactory.kt │ │ ├── DrawerProxy.kt │ │ ├── IDrawer.kt │ │ ├── RectDrawer.kt │ │ └── RoundRectDrawer.kt │ │ ├── enums │ │ ├── IndicatorOrientation.kt │ │ ├── IndicatorSlideMode.kt │ │ └── IndicatorStyle.kt │ │ └── option │ │ └── IndicatorOptions.kt │ └── res │ ├── anim-v21 │ ├── fast_out_slow_in.xml │ ├── linear_out_slow_in.xml │ ├── widget_button_always_shadow_sla.xml │ ├── widget_button_no_shadow.xml │ ├── widget_button_sla.xml │ └── widget_button_sla_mini.xml │ ├── anim │ ├── common_popup_anim_enter.xml │ ├── common_popup_anim_exit.xml │ ├── common_view_alerts_close.xml │ ├── common_view_alerts_show.xml │ ├── dialog_flow_slide_in_left.xml │ ├── dialog_flow_slide_in_right.xml │ ├── dialog_flow_slide_out_left.xml │ ├── dialog_flow_slide_out_right.xml │ ├── dialog_no_enter.xml │ ├── popup_enter_material.xml │ └── popup_exit_material.xml │ ├── drawable-xhdpi │ ├── common_checkbox_bg_off.webp │ ├── common_checkbox_bg_on.webp │ ├── common_navigation_back.png │ └── common_view_push_bubble_bg.9.png │ ├── drawable-xxhdpi │ ├── common_checkbox_bg_off.webp │ ├── common_checkbox_bg_on.webp │ ├── common_view_push_bubble_bg.9.png │ └── rect_rounded_shadow.9.png │ ├── drawable │ ├── abc_dialog_material_background_roundedbig.xml │ ├── abc_dialog_material_background_roundedbig_revealinner.xml │ ├── abc_dialog_material_background_roundedbig_reveaoutter.xml │ ├── abc_dialog_material_transparent_background_roundedbig.xml │ ├── common_button_btn_medium_black.xml │ ├── common_button_btn_medium_black_with_white_stroke.xml │ ├── common_button_btn_medium_white.xml │ ├── common_button_btn_orange_large.xml │ ├── common_button_btn_orange_press.xml │ ├── common_button_btn_orange_small.xml │ ├── common_button_btn_white_medium.xml │ ├── common_button_btn_white_small.xml │ ├── common_checkbox_bg.xml │ ├── common_primary_ripple.xml │ ├── common_toast_bg.xml │ ├── common_view_popup_bg.xml │ ├── common_view_popup_bg_window.xml │ ├── common_view_popup_bg_window_big.xml │ ├── progress_dialog_bg.xml │ ├── rect_rounded_large_tantan_orange.xml │ ├── text_cursor.xml │ ├── tf_rect_dark.xml │ ├── tf_rect_dark_shape.xml │ ├── tf_rect_light.xml │ ├── tf_rect_rounded_light.xml │ ├── tf_rect_rounded_light_shape.xml │ ├── tf_rect_rounded_padding_dark.xml │ ├── tf_rect_rounded_padding_dark_shape.xml │ ├── tf_rect_rounded_padding_light.xml │ └── tf_rect_rounded_padding_light_shape.xml │ ├── layout │ ├── common_view_navigation_bar.xml │ ├── common_view_popup.xml │ ├── common_view_toast.xml │ ├── md_dialog.xml │ ├── md_listitem.xml │ ├── md_listitem_multichoice.xml │ ├── md_listitem_package.xml │ ├── md_listitem_singlechoice.xml │ ├── progress_dialog.xml │ ├── progress_only_dialog.xml │ └── test_push_small_01.xml │ ├── values-v21 │ ├── styles.xml │ └── styles_md.xml │ └── values │ ├── attrs.xml │ ├── attrs_button.xml │ ├── attrs_circular_progress_bar.xml │ ├── attrs_foreground.xml │ ├── attrs_icon.xml │ ├── attrs_md.xml │ ├── attrs_navigation_bar.xml │ ├── colors.xml │ ├── colors_md.xml │ ├── common_dimen.xml │ ├── common_style.xml │ ├── defaults_circular_progress_bar.xml │ ├── dimens.xml │ ├── dimens_md.xml │ ├── strings.xml │ ├── styles.xml │ ├── styles_button.xml │ ├── styles_checkbox.xml │ ├── styles_md.xml │ └── styles_popup.xml ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── network ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── hello │ │ └── sandbox │ │ └── network │ │ ├── ApiExcep.java │ │ ├── ExceptionChecker.java │ │ └── gson │ │ ├── AnnotationExclusionStrategy.java │ │ ├── Exclude.java │ │ ├── GsonUtils.java │ │ ├── ListItemFilter.java │ │ └── MultiTypeJsonParser.java │ └── kotlin │ └── com │ └── hello │ └── sandbox │ └── network │ ├── BaseResponse.kt │ ├── HttpUtil.kt │ └── exception │ └── ErrorMsg.kt ├── release_apk.sh ├── settings.gradle ├── walle ├── config.json ├── run_sign.sh └── walle-cli-all.jar └── xpopup ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src └── main ├── AndroidManifest.xml ├── java └── com │ └── lxj │ └── xpopup │ ├── XPopup.java │ ├── animator │ ├── BlurAnimator.java │ ├── EmptyAnimator.java │ ├── PopupAnimator.java │ ├── ScaleAlphaAnimator.java │ ├── ScrollScaleAnimator.java │ ├── ShadowBgAnimator.java │ ├── TranslateAlphaAnimator.java │ └── TranslateAnimator.java │ ├── core │ ├── AttachPopupView.java │ ├── BasePopupView.java │ ├── BottomPopupView.java │ ├── BubbleAttachPopupView.java │ ├── BubbleHorizontalAttachPopupView.java │ ├── CenterPopupView.java │ ├── DrawerPopupView.java │ ├── FullScreenDialog.java │ ├── HorizontalAttachPopupView.java │ ├── ImageViewerPopupView.java │ ├── PopupInfo.java │ └── PositionPopupView.java │ ├── enums │ ├── LayoutStatus.java │ ├── PopupAnimation.java │ ├── PopupPosition.java │ └── PopupStatus.java │ ├── impl │ ├── AttachListPopupView.java │ ├── BottomListPopupView.java │ ├── CenterListPopupView.java │ ├── ConfirmPopupView.java │ ├── FullScreenPopupView.java │ ├── InputConfirmPopupView.java │ ├── LoadingPopupView.java │ └── PartShadowPopupView.java │ ├── interfaces │ ├── OnCancelListener.java │ ├── OnClickOutsideListener.java │ ├── OnConfirmListener.java │ ├── OnDragChangeListener.java │ ├── OnImageViewerLongPressListener.java │ ├── OnInputConfirmListener.java │ ├── OnSelectListener.java │ ├── OnSrcViewUpdateListener.java │ ├── SimpleCallback.java │ ├── XPopupCallback.java │ └── XPopupImageLoader.java │ ├── photoview │ ├── Compat.java │ ├── CustomGestureDetector.java │ ├── OnGestureListener.java │ ├── OnMatrixChangedListener.java │ ├── OnOutsidePhotoTapListener.java │ ├── OnPhotoTapListener.java │ ├── OnScaleChangedListener.java │ ├── OnSingleFlingListener.java │ ├── OnViewDragListener.java │ ├── OnViewTapListener.java │ ├── PhotoView.java │ ├── PhotoViewAttacher.java │ └── Util.java │ ├── util │ ├── FuckRomUtils.java │ ├── ImageDownloadTarget.java │ ├── KeyboardUtils.java │ ├── PermissionConstants.java │ ├── SSIVListener.java │ ├── SmartGlideImageLoader.java │ ├── XPermission.java │ └── XPopupUtils.java │ └── widget │ ├── BlankView.java │ ├── BubbleLayout.java │ ├── CheckView.java │ ├── HackyViewPager.java │ ├── LoadingView.java │ ├── PartShadowContainer.java │ ├── PhotoViewContainer.java │ ├── PopupDrawerLayout.java │ ├── SmartDivider.java │ ├── SmartDragLayout.java │ └── VerticalRecyclerView.java ├── kotlin └── com │ └── lxj │ └── easyadapter │ ├── EasyAdapter.kt │ ├── ItemDelegate.kt │ ├── ItemDelegateManager.kt │ ├── MultiItemTypeAdapter.kt │ ├── ViewHolder.kt │ └── WrapperUtils.kt └── res ├── layout ├── _xpopup_adapter_text.xml ├── _xpopup_adapter_text_match.xml ├── _xpopup_attach_impl_list.xml ├── _xpopup_attach_popup_view.xml ├── _xpopup_bottom_impl_list.xml ├── _xpopup_bottom_popup_view.xml ├── _xpopup_bubble_attach_popup_view.xml ├── _xpopup_center_impl_confirm.xml ├── _xpopup_center_impl_list.xml ├── _xpopup_center_impl_loading.xml ├── _xpopup_center_popup_view.xml ├── _xpopup_divider.xml ├── _xpopup_drawer_popup_view.xml ├── _xpopup_fullscreen_popup_view.xml ├── _xpopup_image_viewer_popup_view.xml ├── _xpopup_partshadow_popup_view.xml └── _xpopup_position_popup_view.xml ├── values-zh └── strings.xml └── values ├── colors.xml ├── strings.xml └── styles.xml /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /Bcore/black-fake/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /Bcore/black-fake/consumer-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/Bcore/black-fake/consumer-rules.pro -------------------------------------------------------------------------------- /Bcore/black-fake/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /Bcore/black-fake/src/main/java/android/app/ContentProviderHolder.java: -------------------------------------------------------------------------------- 1 | package android.app; 2 | 3 | import android.content.IContentProvider; 4 | import android.content.pm.ProviderInfo; 5 | import android.os.IBinder; 6 | 7 | /** Created by Milk on 2021/5/7. * ∧_∧ (`・ω・∥ 丶 つ0 しーJ 此处无Bug */ 8 | public class ContentProviderHolder { 9 | public final ProviderInfo info = null; 10 | public IContentProvider provider; 11 | public IBinder connection; 12 | } 13 | -------------------------------------------------------------------------------- /Bcore/black-fake/src/main/java/android/content/IContentProvider.java: -------------------------------------------------------------------------------- 1 | package android.content; 2 | 3 | import android.os.IInterface; 4 | 5 | /** Created by Milk on 2021/5/7. * ∧_∧ (`・ω・∥ 丶 つ0 しーJ 此处无Bug */ 6 | public interface IContentProvider extends IInterface {} 7 | -------------------------------------------------------------------------------- /Bcore/black-fake/src/main/java/android/os/ServiceManager.java: -------------------------------------------------------------------------------- 1 | package android.os; 2 | 3 | public class ServiceManager { 4 | public static IBinder getService(String name) { 5 | throw new UnsupportedOperationException("STUB"); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Bcore/black-fake/src/main/java/com/hello/sandbox/fake/FakeCore.java: -------------------------------------------------------------------------------- 1 | package com.hello.sandbox.fake; 2 | 3 | import top.niunaijun.jnihook.ReflectCore; 4 | 5 | /** Created by Milk on 2021/5/7. * ∧_∧ (`・ω・∥ 丶 つ0 しーJ 此处无Bug */ 6 | public class FakeCore { 7 | public static void init() { 8 | ReflectCore.set(android.app.ActivityThread.class); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Bcore/black-hook/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /Bcore/black-hook/consumer-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/Bcore/black-hook/consumer-rules.pro -------------------------------------------------------------------------------- /Bcore/black-hook/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /Bcore/pine-core/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /Bcore/pine-core/consumer-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/Bcore/pine-core/consumer-rules.pro -------------------------------------------------------------------------------- /Bcore/pine-core/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Bcore/pine-core/src/main/java/top/canyie/pine/Ruler.java: -------------------------------------------------------------------------------- 1 | package top.canyie.pine; 2 | 3 | /** @author canyie Internal ruler used for calculating ArtMethod size and members offset. */ 4 | @SuppressWarnings("unused") 5 | final class Ruler { 6 | private static native void m1(); 7 | 8 | private static native void m2(); 9 | 10 | private interface I { 11 | void m(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Bcore/pine-xposed-res/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /Bcore/pine-xposed-res/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /Bcore/pine-xposed/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Bcore/pine-xposed/src/main/apacheCommonsLang/NOTICE.txt: -------------------------------------------------------------------------------- 1 | Apache Commons Lang 2 | Copyright 2001-2011 The Apache Software Foundation 3 | 4 | This product includes software developed by 5 | The Apache Software Foundation (http://www.apache.org/). 6 | 7 | This product includes software from the Spring Framework, 8 | under the Apache License 2.0 (see: StringUtils.containsWhitespace()) 9 | -------------------------------------------------------------------------------- /Bcore/pine-xposed/src/main/java/de/robv/android/xposed/IXposedMod.java: -------------------------------------------------------------------------------- 1 | package de.robv.android.xposed; 2 | 3 | /** Marker interface for Xposed modules. Cannot be implemented directly. */ 4 | /* package */ public interface IXposedMod {} 5 | -------------------------------------------------------------------------------- /Bcore/pine-xposed/src/main/java/de/robv/android/xposed/callbacks/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Contains the base classes for callbacks. 3 | * 4 | *

For historical reasons, {@link de.robv.android.xposed.XC_MethodHook} and {@link 5 | * de.robv.android.xposed.XC_MethodReplacement} are directly in the {@code de.robv.android.xposed} 6 | * package. 7 | */ 8 | package de.robv.android.xposed.callbacks; 9 | -------------------------------------------------------------------------------- /Bcore/pine-xposed/src/main/java/de/robv/android/xposed/package-info.java: -------------------------------------------------------------------------------- 1 | /** Contains the main classes of the Xposed framework. */ 2 | package de.robv.android.xposed; 3 | -------------------------------------------------------------------------------- /Bcore/src/main/aidl/com/hello/sandbox/core/IEmpty.aidl: -------------------------------------------------------------------------------- 1 | // IBActivityThread.aidl 2 | package com.hello.sandbox.core; 3 | 4 | // Declare any non-default types here with import statements 5 | 6 | interface IEmpty { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /Bcore/src/main/aidl/com/hello/sandbox/core/system/pm/BPackageSettings.aidl: -------------------------------------------------------------------------------- 1 | // BPackageSettings.aidl 2 | package com.hello.sandbox.core.system.pm; 3 | 4 | // Declare any non-default types here with import statements 5 | 6 | parcelable BPackageSettings; -------------------------------------------------------------------------------- /Bcore/src/main/aidl/com/hello/sandbox/core/system/user/BUserInfo.aidl: -------------------------------------------------------------------------------- 1 | // BUserInfo.aidl 2 | package com.hello.sandbox.core.system.user; 3 | 4 | // Declare any non-default types here with import statements 5 | parcelable BUserInfo; 6 | -------------------------------------------------------------------------------- /Bcore/src/main/aidl/com/hello/sandbox/entity/AppConfig.aidl: -------------------------------------------------------------------------------- 1 | // AppConfig.aidl 2 | package com.hello.sandbox.entity; 3 | 4 | // Declare any non-default types here with import statements 5 | 6 | parcelable AppConfig; -------------------------------------------------------------------------------- /Bcore/src/main/aidl/com/hello/sandbox/entity/JobRecord.aidl: -------------------------------------------------------------------------------- 1 | // JobRecord.aidl 2 | package com.hello.sandbox.entity; 3 | 4 | // Declare any non-default types here with import statements 5 | 6 | parcelable JobRecord; -------------------------------------------------------------------------------- /Bcore/src/main/aidl/com/hello/sandbox/entity/UnbindRecord.aidl: -------------------------------------------------------------------------------- 1 | package com.hello.sandbox.entity; 2 | 3 | parcelable UnbindRecord; -------------------------------------------------------------------------------- /Bcore/src/main/aidl/com/hello/sandbox/entity/am/PendingResultData.aidl: -------------------------------------------------------------------------------- 1 | package com.hello.sandbox.entity.am; 2 | 3 | parcelable PendingResultData; -------------------------------------------------------------------------------- /Bcore/src/main/aidl/com/hello/sandbox/entity/am/ReceiverData.aidl: -------------------------------------------------------------------------------- 1 | package com.hello.sandbox.entity.am; 2 | 3 | parcelable ReceiverData; -------------------------------------------------------------------------------- /Bcore/src/main/aidl/com/hello/sandbox/entity/am/RunningAppProcessInfo.aidl: -------------------------------------------------------------------------------- 1 | package com.hello.sandbox.entity.am; 2 | 3 | parcelable RunningAppProcessInfo; -------------------------------------------------------------------------------- /Bcore/src/main/aidl/com/hello/sandbox/entity/am/RunningServiceInfo.aidl: -------------------------------------------------------------------------------- 1 | package com.hello.sandbox.entity.am; 2 | 3 | parcelable RunningServiceInfo; -------------------------------------------------------------------------------- /Bcore/src/main/aidl/com/hello/sandbox/entity/location/BCell.aidl: -------------------------------------------------------------------------------- 1 | package com.hello.sandbox.entity.location; 2 | 3 | parcelable BCell; -------------------------------------------------------------------------------- /Bcore/src/main/aidl/com/hello/sandbox/entity/location/BLocation.aidl: -------------------------------------------------------------------------------- 1 | package com.hello.sandbox.entity.location; 2 | 3 | // Declare any non-default types here with import statements 4 | 5 | parcelable BLocation; -------------------------------------------------------------------------------- /Bcore/src/main/aidl/com/hello/sandbox/entity/location/BLocationConfig.aidl: -------------------------------------------------------------------------------- 1 | package com.hello.sandbox.core.system.location; 2 | 3 | parcelable BLocationConfig; -------------------------------------------------------------------------------- /Bcore/src/main/aidl/com/hello/sandbox/entity/pm/InstallOption.aidl: -------------------------------------------------------------------------------- 1 | package com.hello.sandbox.entity.pm; 2 | 3 | parcelable InstallOption; -------------------------------------------------------------------------------- /Bcore/src/main/aidl/com/hello/sandbox/entity/pm/InstallResult.aidl: -------------------------------------------------------------------------------- 1 | package com.hello.sandbox.entity.pm; 2 | 3 | parcelable InstallResult; -------------------------------------------------------------------------------- /Bcore/src/main/aidl/com/hello/sandbox/entity/pm/InstalledModule.aidl: -------------------------------------------------------------------------------- 1 | package com.hello.sandbox.entity.pm; 2 | 3 | parcelable InstalledModule; -------------------------------------------------------------------------------- /Bcore/src/main/aidl/com/hello/sandbox/entity/pm/InstalledPackage.aidl: -------------------------------------------------------------------------------- 1 | package com.hello.sandbox.entity.pm; 2 | 3 | parcelable InstalledPackage; -------------------------------------------------------------------------------- /Bcore/src/main/assets/empty.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/Bcore/src/main/assets/empty.jar -------------------------------------------------------------------------------- /Bcore/src/main/assets/junit.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/Bcore/src/main/assets/junit.jar -------------------------------------------------------------------------------- /Bcore/src/main/cpp/Hook/BaseHook.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by Milk on 4/10/21. 3 | // 4 | 5 | #include "BaseHook.h" 6 | 7 | 8 | void BaseHook::init(JNIEnv *env) { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /Bcore/src/main/cpp/Hook/BaseHook.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by Milk on 4/9/21. 3 | // 4 | 5 | #ifndef VIRTUALM_BASEHOOK_H 6 | #define VIRTUALM_BASEHOOK_H 7 | 8 | #include 9 | #include 10 | 11 | class BaseHook { 12 | public: 13 | static void init(JNIEnv *env); 14 | }; 15 | 16 | 17 | #endif //VIRTUALM_BASEHOOK_H 18 | -------------------------------------------------------------------------------- /Bcore/src/main/cpp/Hook/BinderHook.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by Milk on 4/25/21. 3 | // 4 | 5 | #ifndef BLACKBOX_BINDERHOOK_H 6 | #define BLACKBOX_BINDERHOOK_H 7 | 8 | 9 | #include "BaseHook.h" 10 | 11 | class BinderHook : public BaseHook{ 12 | public: 13 | static void init(JNIEnv *env); 14 | }; 15 | 16 | #endif //BLACKBOX_BINDERHOOK_H 17 | -------------------------------------------------------------------------------- /Bcore/src/main/cpp/Hook/RuntimeHook.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by Milk on 5/5/21. 3 | // 4 | 5 | #ifndef BLACKBOX_RUNTIMEHOOK_H 6 | #define BLACKBOX_RUNTIMEHOOK_H 7 | 8 | 9 | #include "BaseHook.h" 10 | #include 11 | 12 | class RuntimeHook : public BaseHook { 13 | public: 14 | static void init(JNIEnv *env); 15 | }; 16 | 17 | 18 | #endif //BLACKBOX_RUNTIMEHOOK_H 19 | -------------------------------------------------------------------------------- /Bcore/src/main/cpp/Hook/UnixFileSystemHook.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by Milk on 4/9/21. 3 | // 4 | 5 | #ifndef VIRTUALM_UNIXFILESYSTEMHOOK_H 6 | #define VIRTUALM_UNIXFILESYSTEMHOOK_H 7 | 8 | 9 | #include "BaseHook.h" 10 | 11 | class UnixFileSystemHook : public BaseHook { 12 | public: 13 | static void init(JNIEnv *env); 14 | }; 15 | 16 | 17 | #endif //VIRTUALM_UNIXFILESYSTEMHOOK_H 18 | -------------------------------------------------------------------------------- /Bcore/src/main/cpp/Hook/VMClassLoaderHook.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by Milk on 2021/5/5. 3 | // 4 | 5 | #ifndef BLACKBOX_VMCLASSLOADERHOOK_H 6 | #define BLACKBOX_VMCLASSLOADERHOOK_H 7 | 8 | 9 | #include "BaseHook.h" 10 | #include 11 | 12 | class VMClassLoaderHook : public BaseHook { 13 | public: 14 | static void hideXposed(); 15 | static void init(JNIEnv *env); 16 | }; 17 | 18 | 19 | #endif //BLACKBOX_VMCLASSLOADERHOOK_H 20 | -------------------------------------------------------------------------------- /Bcore/src/main/cpp/Utils/HexDump.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by Milk on 2020/8/18. 3 | // 4 | 5 | #ifndef SPEED_HEXDUMP_H 6 | #define SPEED_HEXDUMP_H 7 | 8 | 9 | class HexDump { 10 | 11 | }; 12 | void HexDump(char *buf, int len, int addr); 13 | 14 | #endif //SPEED_HEXDUMP_H 15 | -------------------------------------------------------------------------------- /Bcore/src/main/cpp/Utils/PointerCheck.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by Milk on 2021/5/17. 3 | // 4 | 5 | #ifndef BLACKBOX_POINTERCHECK_H 6 | #define BLACKBOX_POINTERCHECK_H 7 | 8 | 9 | class PointerCheck { 10 | public: 11 | static bool check(void *addr); 12 | }; 13 | 14 | 15 | #endif //BLACKBOX_POINTERCHECK_H 16 | -------------------------------------------------------------------------------- /Bcore/src/main/cpp/Utils/fake_dlfcn.h: -------------------------------------------------------------------------------- 1 | #ifndef DLFCN_H 2 | #define DLFCN_H 3 | 4 | void *fake_dlopen(const char *libpath, int flags); 5 | 6 | void *fake_dlsym(void *handle, const char *name); 7 | 8 | int fake_dlclose(void *handle); 9 | 10 | #endif -------------------------------------------------------------------------------- /Bcore/src/main/java/com/hello/sandbox/core/system/ISystemService.java: -------------------------------------------------------------------------------- 1 | package com.hello.sandbox.core.system; 2 | 3 | /** Created by Milk on 4/22/21. * ∧_∧ (`・ω・∥ 丶 つ0 しーJ 此处无Bug */ 4 | public interface ISystemService { 5 | void systemReady(); 6 | } 7 | -------------------------------------------------------------------------------- /Bcore/src/main/java/com/hello/sandbox/core/system/location/LocationRecord.java: -------------------------------------------------------------------------------- 1 | package com.hello.sandbox.core.system.location; 2 | 3 | /** Created by BlackBox on 2022/3/19. */ 4 | public class LocationRecord { 5 | public String packageName; 6 | public int userId; 7 | 8 | public LocationRecord(String packageName, int userId) { 9 | this.packageName = packageName; 10 | this.userId = userId; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Bcore/src/main/java/com/hello/sandbox/core/system/pm/PackageMonitor.java: -------------------------------------------------------------------------------- 1 | package com.hello.sandbox.core.system.pm; 2 | 3 | /** Created by Milk on 5/2/21. * ∧_∧ (`・ω・∥ 丶 つ0 しーJ 此处无Bug */ 4 | public interface PackageMonitor { 5 | void onPackageUninstalled(String packageName, boolean isRemove, int userId); 6 | 7 | void onPackageInstalled(String packageName, int userId); 8 | } 9 | -------------------------------------------------------------------------------- /Bcore/src/main/java/com/hello/sandbox/core/system/user/BUserStatus.java: -------------------------------------------------------------------------------- 1 | package com.hello.sandbox.core.system.user; 2 | 3 | /** Created by Milk on 4/22/21. * ∧_∧ (`・ω・∥ 丶 つ0 しーJ 此处无Bug */ 4 | public enum BUserStatus { 5 | ENABLE, 6 | DISABLE 7 | } 8 | -------------------------------------------------------------------------------- /Bcore/src/main/java/com/hello/sandbox/fake/hook/IInjectHook.java: -------------------------------------------------------------------------------- 1 | package com.hello.sandbox.fake.hook; 2 | 3 | /** Created by Milk on 3/30/21. * ∧_∧ (`・ω・∥ 丶 つ0 しーJ 此处无Bug */ 4 | public interface IInjectHook { 5 | void injectHook(); 6 | 7 | boolean isBadEnv(); 8 | } 9 | -------------------------------------------------------------------------------- /Bcore/src/main/java/com/hello/sandbox/fake/service/context/providers/BContentProvider.java: -------------------------------------------------------------------------------- 1 | package com.hello.sandbox.fake.service.context.providers; 2 | 3 | import android.os.IInterface; 4 | 5 | /** Created by Milk on 4/8/21. * ∧_∧ (`・ω・∥ 丶 つ0 しーJ 此处无Bug */ 6 | public interface BContentProvider { 7 | IInterface wrapper(final IInterface contentProviderProxy, final String appPkg); 8 | } 9 | -------------------------------------------------------------------------------- /Bcore/src/main/java/com/hello/sandbox/proxy/ProxyVpnService.java: -------------------------------------------------------------------------------- 1 | package com.hello.sandbox.proxy; 2 | 3 | import android.net.VpnService; 4 | 5 | /** Created by BlackBox on 2022/2/25. */ 6 | public class ProxyVpnService extends VpnService {} 7 | -------------------------------------------------------------------------------- /Bcore/src/main/res/drawable/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/Bcore/src/main/res/drawable/ic_launcher.png -------------------------------------------------------------------------------- /Bcore/src/main/res/layout/activity_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 12 | -------------------------------------------------------------------------------- /Bcore/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | :black 4 | -------------------------------------------------------------------------------- /Bcore/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /android-mirror/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /android-mirror/consumer-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/android-mirror/consumer-rules.pro -------------------------------------------------------------------------------- /android-mirror/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /android-mirror/src/main/aidl/android/accounts/IAccountManagerResponse.aidl: -------------------------------------------------------------------------------- 1 | package android.accounts; 2 | 3 | import android.os.Bundle; 4 | 5 | /** 6 | * The interface used to return responses for asynchronous calls to the {@link IAccountManager} 7 | */ 8 | interface IAccountManagerResponse { 9 | void onResult(in Bundle value); 10 | void onError(int errorCode, String errorMessage); 11 | } 12 | -------------------------------------------------------------------------------- /android-mirror/src/main/aidl/android/app/IActivityManager/ContentProviderHolder.aidl: -------------------------------------------------------------------------------- 1 | // ContentProviderHolder.aidl 2 | package android.app.IActivityManager; 3 | 4 | parcelable ContentProviderHolder; -------------------------------------------------------------------------------- /android-mirror/src/main/aidl/android/app/job/JobWorkItem.aidl: -------------------------------------------------------------------------------- 1 | // JobWorkItem.aidl 2 | package android.app.job; 3 | 4 | parcelable JobWorkItem; 5 | -------------------------------------------------------------------------------- /android-mirror/src/main/aidl/android/content/ISyncStatusObserver.aidl: -------------------------------------------------------------------------------- 1 | package android.content; 2 | 3 | 4 | interface ISyncStatusObserver { 5 | void onStatusChanged(int which); 6 | } 7 | -------------------------------------------------------------------------------- /android-mirror/src/main/aidl/android/content/SyncStatusInfo.aidl: -------------------------------------------------------------------------------- 1 | package android.content; 2 | 3 | parcelable SyncStatusInfo; -------------------------------------------------------------------------------- /android-mirror/src/main/aidl/android/content/pm/IPackageDataObserver.aidl: -------------------------------------------------------------------------------- 1 | package android.content.pm; 2 | 3 | /** 4 | * API for package data change related callbacks from the Package Manager. 5 | * Some usage scenarios include deletion of cache directory, generate 6 | * statistics related to code, data, cache usage(TODO) 7 | */ 8 | interface IPackageDataObserver { 9 | void onRemoveCompleted(in String packageName, boolean succeeded); 10 | } 11 | -------------------------------------------------------------------------------- /android-mirror/src/main/aidl/android/content/pm/IPackageInstallObserver.aidl: -------------------------------------------------------------------------------- 1 | package android.content.pm; 2 | 3 | /** 4 | * API for installation callbacks from the Package Manager. 5 | */ 6 | interface IPackageInstallObserver { 7 | void packageInstalled(in String packageName, int returnCode); 8 | } 9 | 10 | -------------------------------------------------------------------------------- /android-mirror/src/main/aidl/android/content/pm/IPackageInstallerCallback.aidl: -------------------------------------------------------------------------------- 1 | package android.content.pm; 2 | 3 | interface IPackageInstallerCallback { 4 | void onSessionCreated(int sessionId); 5 | void onSessionBadgingChanged(int sessionId); 6 | void onSessionActiveChanged(int sessionId, boolean active); 7 | void onSessionProgressChanged(int sessionId, float progress); 8 | void onSessionFinished(int sessionId, boolean success); 9 | } 10 | -------------------------------------------------------------------------------- /android-mirror/src/main/aidl/android/net/wifi/IWifiScanner.aidl: -------------------------------------------------------------------------------- 1 | package android.net.wifi; 2 | 3 | import android.os.Messenger; 4 | import android.os.Bundle; 5 | 6 | interface IWifiScanner 7 | { 8 | Messenger getMessenger(); 9 | 10 | Bundle getAvailableChannels(int band); 11 | } 12 | -------------------------------------------------------------------------------- /android-mirror/src/main/aidl/android/os/ISystemUpdateManager.aidl: -------------------------------------------------------------------------------- 1 | package android.os; 2 | 3 | import android.os.Bundle; 4 | import android.os.PersistableBundle; 5 | 6 | interface ISystemUpdateManager { 7 | Bundle retrieveSystemUpdateInfo(); 8 | void updateSystemUpdateInfo(in PersistableBundle data); 9 | } -------------------------------------------------------------------------------- /android-mirror/src/main/aidl/com/android/internal/widget/ILockSettings.aidl: -------------------------------------------------------------------------------- 1 | package com.android.internal.widget; 2 | 3 | interface ILockSettings { 4 | void setRecoverySecretTypes(in int[] secretTypes); 5 | int[] getRecoverySecretTypes(); 6 | } -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/app/ActivityThreadQ.java: -------------------------------------------------------------------------------- 1 | package black.android.app; 2 | 3 | import android.os.IBinder; 4 | import java.util.List; 5 | import top.niunaijun.blackreflection.annotation.BClassName; 6 | import top.niunaijun.blackreflection.annotation.BMethod; 7 | 8 | @BClassName("android.app.ActivityThread") 9 | public interface ActivityThreadQ { 10 | @BMethod 11 | void handleNewIntent(IBinder IBinder0, List List1); 12 | } 13 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/app/AlarmManager.java: -------------------------------------------------------------------------------- 1 | package black.android.app; 2 | 3 | import android.os.IInterface; 4 | import top.niunaijun.blackreflection.annotation.BClassName; 5 | import top.niunaijun.blackreflection.annotation.BField; 6 | 7 | @BClassName("android.app.AlarmManager") 8 | public interface AlarmManager { 9 | @BField 10 | IInterface mService(); 11 | 12 | @BField 13 | int mTargetSdkVersion(); 14 | } 15 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/app/AppOpsManager.java: -------------------------------------------------------------------------------- 1 | package black.android.app; 2 | 3 | import android.os.IInterface; 4 | import top.niunaijun.blackreflection.annotation.BClassName; 5 | import top.niunaijun.blackreflection.annotation.BField; 6 | 7 | @BClassName("android.app.AppOpsManager") 8 | public interface AppOpsManager { 9 | @BField 10 | IInterface mService(); 11 | } 12 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/app/ClientTransactionHandler.java: -------------------------------------------------------------------------------- 1 | package black.android.app; 2 | 3 | import android.os.IBinder; 4 | import top.niunaijun.blackreflection.annotation.BClassName; 5 | import top.niunaijun.blackreflection.annotation.BMethod; 6 | 7 | @BClassName("android.app.ClientTransactionHandler") 8 | public interface ClientTransactionHandler { 9 | @BMethod 10 | Object getActivityClient(IBinder IBinder0); 11 | } 12 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/app/ContextImplICS.java: -------------------------------------------------------------------------------- 1 | package black.android.app; 2 | 3 | import java.io.File; 4 | import top.niunaijun.blackreflection.annotation.BClassName; 5 | import top.niunaijun.blackreflection.annotation.BField; 6 | 7 | @BClassName("android.app.ContextImpl") 8 | public interface ContextImplICS { 9 | @BField 10 | File mExternalCacheDir(); 11 | 12 | @BField 13 | File mExternalFilesDir(); 14 | } 15 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/app/LoadedApkHuaWei.java: -------------------------------------------------------------------------------- 1 | package black.android.app; 2 | 3 | import top.niunaijun.blackreflection.annotation.BClassName; 4 | import top.niunaijun.blackreflection.annotation.BField; 5 | 6 | @BClassName("android.app.LoadedApk") 7 | public interface LoadedApkHuaWei { 8 | @BField 9 | Object mReceiverResource(); 10 | } 11 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/app/LoadedApkICS.java: -------------------------------------------------------------------------------- 1 | package black.android.app; 2 | 3 | import top.niunaijun.blackreflection.annotation.BClassName; 4 | import top.niunaijun.blackreflection.annotation.BField; 5 | 6 | @BClassName("android.app.LoadedApk") 7 | public interface LoadedApkICS { 8 | @BField 9 | Object mCompatibilityInfo(); 10 | } 11 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/app/LoadedApkKitkat.java: -------------------------------------------------------------------------------- 1 | package black.android.app; 2 | 3 | import top.niunaijun.blackreflection.annotation.BClassName; 4 | import top.niunaijun.blackreflection.annotation.BField; 5 | 6 | @BClassName("android.app.LoadedApk") 7 | public interface LoadedApkKitkat { 8 | @BField 9 | Object mDisplayAdjustments(); 10 | } 11 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/app/NotificationChannel.java: -------------------------------------------------------------------------------- 1 | package black.android.app; 2 | 3 | import top.niunaijun.blackreflection.annotation.BClassName; 4 | import top.niunaijun.blackreflection.annotation.BField; 5 | 6 | @BClassName("android.app.NotificationChannel") 7 | public interface NotificationChannel { 8 | @BField 9 | String mId(); 10 | } 11 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/app/NotificationM.java: -------------------------------------------------------------------------------- 1 | package black.android.app; 2 | 3 | import android.graphics.drawable.Icon; 4 | import top.niunaijun.blackreflection.annotation.BClassName; 5 | import top.niunaijun.blackreflection.annotation.BField; 6 | 7 | @BClassName("android.app.Notification") 8 | public interface NotificationM { 9 | @BField 10 | Icon mLargeIcon(); 11 | 12 | @BField 13 | Icon mSmallIcon(); 14 | } 15 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/app/NotificationO.java: -------------------------------------------------------------------------------- 1 | package black.android.app; 2 | 3 | import top.niunaijun.blackreflection.annotation.BClassName; 4 | import top.niunaijun.blackreflection.annotation.BField; 5 | 6 | @BClassName("android.app.Notification") 7 | public interface NotificationO { 8 | @BField 9 | String mChannelId(); 10 | 11 | @BField 12 | String mGroupKey(); 13 | } 14 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/app/PendingIntentO.java: -------------------------------------------------------------------------------- 1 | package black.android.app; 2 | 3 | import android.os.IBinder; 4 | import top.niunaijun.blackreflection.annotation.BClassName; 5 | import top.niunaijun.blackreflection.annotation.BConstructor; 6 | 7 | @BClassName("android.app.PendingIntent") 8 | public interface PendingIntentO { 9 | @BConstructor 10 | PendingIntentO _new(IBinder IBinder0, Object Object1); 11 | } 12 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/app/SharedPreferencesImpl.java: -------------------------------------------------------------------------------- 1 | package black.android.app; 2 | 3 | import java.io.File; 4 | import top.niunaijun.blackreflection.annotation.BClassName; 5 | import top.niunaijun.blackreflection.annotation.BConstructor; 6 | 7 | @BClassName("android.app.SharedPreferencesImpl") 8 | public interface SharedPreferencesImpl { 9 | @BConstructor 10 | SharedPreferencesImpl _new(File File0, int int1); 11 | } 12 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/app/servertransaction/ActivityLifecycleItem.java: -------------------------------------------------------------------------------- 1 | package black.android.app.servertransaction; 2 | 3 | import top.niunaijun.blackreflection.annotation.BClassName; 4 | import top.niunaijun.blackreflection.annotation.BMethod; 5 | 6 | @BClassName("android.app.servertransaction.ActivityLifecycleItem") 7 | public interface ActivityLifecycleItem { 8 | @BMethod 9 | Integer getTargetState(); 10 | } 11 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/app/servertransaction/ActivityResultItem.java: -------------------------------------------------------------------------------- 1 | package black.android.app.servertransaction; 2 | 3 | import java.util.List; 4 | import top.niunaijun.blackreflection.annotation.BClassName; 5 | import top.niunaijun.blackreflection.annotation.BField; 6 | 7 | @BClassName("android.app.servertransaction.ActivityResultItem") 8 | public interface ActivityResultItem { 9 | @BField 10 | List mResultInfoList(); 11 | } 12 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/app/servertransaction/TopResumedActivityChangeItem.java: -------------------------------------------------------------------------------- 1 | package black.android.app.servertransaction; 2 | 3 | import top.niunaijun.blackreflection.annotation.BClassName; 4 | import top.niunaijun.blackreflection.annotation.BField; 5 | 6 | @BClassName("android.app.servertransaction.TopResumedActivityChangeItem") 7 | public interface TopResumedActivityChangeItem { 8 | @BField 9 | Boolean mOnTop(); 10 | } 11 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/content/ContentProviderClient.java: -------------------------------------------------------------------------------- 1 | package black.android.content; 2 | 3 | import android.os.IInterface; 4 | import top.niunaijun.blackreflection.annotation.BClassName; 5 | import top.niunaijun.blackreflection.annotation.BField; 6 | 7 | @BClassName("android.content.ContentProviderClient") 8 | public interface ContentProviderClient { 9 | @BField 10 | IInterface mContentProvider(); 11 | } 12 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/content/ContentProviderClientQ.java: -------------------------------------------------------------------------------- 1 | package black.android.content; 2 | 3 | import top.niunaijun.blackreflection.annotation.BClassName; 4 | import top.niunaijun.blackreflection.annotation.BConstructor; 5 | 6 | @BClassName("android.content.ContentProviderClient") 7 | public interface ContentProviderClientQ { 8 | @BConstructor 9 | ContentProviderClientQ _new(); 10 | } 11 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/content/IContentProvider.java: -------------------------------------------------------------------------------- 1 | package black.android.content; 2 | 3 | import top.niunaijun.blackreflection.annotation.BClassName; 4 | 5 | @BClassName("android.content.IContentProvider") 6 | public interface IContentProvider {} 7 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/content/IntentFilter.java: -------------------------------------------------------------------------------- 1 | package black.android.content; 2 | 3 | import java.util.List; 4 | import top.niunaijun.blackreflection.annotation.BClassName; 5 | import top.niunaijun.blackreflection.annotation.BField; 6 | 7 | @BClassName("android.content.IntentFilter") 8 | public interface IntentFilter { 9 | @BField 10 | List mActions(); 11 | 12 | @BField 13 | List mCategories(); 14 | } 15 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/content/IntentSender.java: -------------------------------------------------------------------------------- 1 | package black.android.content; 2 | 3 | import android.os.IInterface; 4 | import top.niunaijun.blackreflection.annotation.BClassName; 5 | import top.niunaijun.blackreflection.annotation.BField; 6 | 7 | @BClassName("android.content.IntentSender") 8 | public interface IntentSender { 9 | @BField 10 | IInterface mTarget(); 11 | } 12 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/content/PeriodicSync.java: -------------------------------------------------------------------------------- 1 | package black.android.content; 2 | 3 | import top.niunaijun.blackreflection.annotation.BClassName; 4 | import top.niunaijun.blackreflection.annotation.BField; 5 | 6 | @BClassName("android.content.PeriodicSync") 7 | public interface PeriodicSync { 8 | @BField 9 | long flexTime(); 10 | } 11 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/content/SyncInfo.java: -------------------------------------------------------------------------------- 1 | package black.android.content; 2 | 3 | import android.accounts.Account; 4 | import top.niunaijun.blackreflection.annotation.BClassName; 5 | import top.niunaijun.blackreflection.annotation.BConstructor; 6 | 7 | @BClassName("android.content.SyncInfo") 8 | public interface SyncInfo { 9 | @BConstructor 10 | SyncInfo _new(int int0, Account Account1, String String2, long long3); 11 | } 12 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/content/pm/PackageUserState.java: -------------------------------------------------------------------------------- 1 | package black.android.content.pm; 2 | 3 | import top.niunaijun.blackreflection.annotation.BClassName; 4 | import top.niunaijun.blackreflection.annotation.BConstructor; 5 | 6 | @BClassName("android.content.pm.PackageUserState") 7 | public interface PackageUserState { 8 | @BConstructor 9 | PackageUserState _new(); 10 | } 11 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/ddm/DdmHandleAppName.java: -------------------------------------------------------------------------------- 1 | package black.android.ddm; 2 | 3 | import top.niunaijun.blackreflection.annotation.BClassName; 4 | import top.niunaijun.blackreflection.annotation.BStaticMethod; 5 | 6 | @BClassName("android.ddm.DdmHandleAppName") 7 | public interface DdmHandleAppName { 8 | @BStaticMethod 9 | void setAppName(String String0, int i); 10 | } 11 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/graphics/Compatibility.java: -------------------------------------------------------------------------------- 1 | package black.android.graphics; 2 | 3 | import top.niunaijun.blackreflection.annotation.BClassName; 4 | import top.niunaijun.blackreflection.annotation.BStaticMethod; 5 | 6 | /** Created by BlackBox on 2022/2/24. */ 7 | @BClassName("android.graphics.Compatibility") 8 | public interface Compatibility { 9 | @BStaticMethod 10 | void setTargetSdkVersion(int targetSdkVersion); 11 | } 12 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/hardware/display/IDisplayManager.java: -------------------------------------------------------------------------------- 1 | package black.android.hardware.display; 2 | 3 | import top.niunaijun.blackreflection.annotation.BClassName; 4 | 5 | @BClassName("android.hardware.display.IDisplayManager") 6 | public interface IDisplayManager {} 7 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/net/wifi/WifiScanner.java: -------------------------------------------------------------------------------- 1 | package black.android.net.wifi; 2 | 3 | import top.niunaijun.blackreflection.annotation.BClassName; 4 | import top.niunaijun.blackreflection.annotation.BStaticField; 5 | 6 | @BClassName("android.net.wifi.WifiScanner") 7 | public interface WifiScanner { 8 | @BStaticField 9 | String GET_AVAILABLE_CHANNELS_EXTRA(); 10 | } 11 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/net/wifi/WifiSsid.java: -------------------------------------------------------------------------------- 1 | package black.android.net.wifi; 2 | 3 | import top.niunaijun.blackreflection.annotation.BClassName; 4 | import top.niunaijun.blackreflection.annotation.BStaticMethod; 5 | 6 | @BClassName("android.net.wifi.WifiSsid") 7 | public interface WifiSsid { 8 | @BStaticMethod 9 | Object createFromAsciiEncoded(String asciiEncoded); 10 | } 11 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/os/BaseBundle.java: -------------------------------------------------------------------------------- 1 | package black.android.os; 2 | 3 | import android.os.Parcel; 4 | import top.niunaijun.blackreflection.annotation.BClassName; 5 | import top.niunaijun.blackreflection.annotation.BField; 6 | 7 | @BClassName("android.os.BaseBundle") 8 | public interface BaseBundle { 9 | @BField 10 | Parcel mParcelledData(); 11 | } 12 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/os/Build.java: -------------------------------------------------------------------------------- 1 | package black.android.os; 2 | 3 | import top.niunaijun.blackreflection.annotation.BClassName; 4 | 5 | @BClassName("android.os.Build") 6 | public interface Build {} 7 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/os/Bundle.java: -------------------------------------------------------------------------------- 1 | package black.android.os; 2 | 3 | import android.os.IBinder; 4 | import top.niunaijun.blackreflection.annotation.BClassName; 5 | import top.niunaijun.blackreflection.annotation.BMethod; 6 | 7 | @BClassName("android.os.Bundle") 8 | public interface Bundle { 9 | @BMethod 10 | IBinder getIBinder(String String0); 11 | 12 | @BMethod 13 | void putIBinder(String String0, IBinder IBinder1); 14 | } 15 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/os/BundleICS.java: -------------------------------------------------------------------------------- 1 | package black.android.os; 2 | 3 | import android.os.Parcel; 4 | import top.niunaijun.blackreflection.annotation.BClassName; 5 | import top.niunaijun.blackreflection.annotation.BField; 6 | 7 | @BClassName("android.os.Bundle") 8 | public interface BundleICS { 9 | @BField 10 | Parcel mParcelledData(); 11 | } 12 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/os/DropBoxManager.java: -------------------------------------------------------------------------------- 1 | package black.android.os; 2 | 3 | import android.os.IInterface; 4 | import top.niunaijun.blackreflection.annotation.BClassName; 5 | import top.niunaijun.blackreflection.annotation.BField; 6 | 7 | @BClassName("android.os.DropBoxManager") 8 | public interface DropBoxManager { 9 | @BField 10 | IInterface mService(); 11 | } 12 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/os/Environment.java: -------------------------------------------------------------------------------- 1 | package black.android.os; 2 | 3 | import top.niunaijun.blackreflection.annotation.BClassName; 4 | import top.niunaijun.blackreflection.annotation.BStaticField; 5 | 6 | @BClassName("android.os.Environment") 7 | public interface Environment { 8 | 9 | @BStaticField 10 | Object sCurrentUser(); 11 | } 12 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/os/Handler.java: -------------------------------------------------------------------------------- 1 | package black.android.os; 2 | 3 | import android.os.Handler.Callback; 4 | import top.niunaijun.blackreflection.annotation.BClassName; 5 | import top.niunaijun.blackreflection.annotation.BField; 6 | 7 | @BClassName("android.os.Handler") 8 | public interface Handler { 9 | @BField 10 | Callback mCallback(); 11 | } 12 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/os/MemoryFile.java: -------------------------------------------------------------------------------- 1 | package black.android.os; 2 | 3 | import java.io.FileDescriptor; 4 | import top.niunaijun.blackreflection.annotation.BClassName; 5 | import top.niunaijun.blackreflection.annotation.BMethod; 6 | 7 | @BClassName("android.os.MemoryFile") 8 | public interface MemoryFile { 9 | @BMethod 10 | FileDescriptor getFileDescriptor(); 11 | } 12 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/os/Message.java: -------------------------------------------------------------------------------- 1 | package black.android.os; 2 | 3 | import top.niunaijun.blackreflection.annotation.BClassName; 4 | import top.niunaijun.blackreflection.annotation.BStaticMethod; 5 | 6 | @BClassName("android.os.Message") 7 | public interface Message { 8 | @BStaticMethod 9 | void updateCheckRecycle(int int0); 10 | } 11 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/os/Parcel.java: -------------------------------------------------------------------------------- 1 | package black.android.os; 2 | 3 | import top.niunaijun.blackreflection.annotation.BClassName; 4 | import top.niunaijun.blackreflection.annotation.BStaticField; 5 | 6 | @BClassName("android.os.Parcel") 7 | public interface Parcel { 8 | @BStaticField 9 | int VAL_PARCELABLE(); 10 | 11 | @BStaticField 12 | int VAL_PARCELABLEARRAY(); 13 | } 14 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/os/Process.java: -------------------------------------------------------------------------------- 1 | package black.android.os; 2 | 3 | import top.niunaijun.blackreflection.annotation.BClassName; 4 | import top.niunaijun.blackreflection.annotation.BStaticMethod; 5 | 6 | @BClassName("android.os.Process") 7 | public interface Process { 8 | @BStaticMethod 9 | void setArgV0(String String0); 10 | } 11 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/os/UserHandle.java: -------------------------------------------------------------------------------- 1 | package black.android.os; 2 | 3 | import top.niunaijun.blackreflection.annotation.BClassName; 4 | import top.niunaijun.blackreflection.annotation.BStaticMethod; 5 | 6 | @BClassName("android.os.UserHandle") 7 | public interface UserHandle { 8 | @BStaticMethod 9 | Integer myUserId(); 10 | } 11 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/os/health/SystemHealthManager.java: -------------------------------------------------------------------------------- 1 | package black.android.os.health; 2 | 3 | import android.os.IInterface; 4 | import top.niunaijun.blackreflection.annotation.BClassName; 5 | import top.niunaijun.blackreflection.annotation.BField; 6 | 7 | @BClassName("android.os.health.SystemHealthManager") 8 | public interface SystemHealthManager { 9 | @BField 10 | IInterface mBatteryStats(); 11 | } 12 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/os/storage/StorageVolume.java: -------------------------------------------------------------------------------- 1 | package black.android.os.storage; 2 | 3 | import java.io.File; 4 | import top.niunaijun.blackreflection.annotation.BClassName; 5 | import top.niunaijun.blackreflection.annotation.BField; 6 | 7 | @BClassName("android.os.storage.StorageVolume") 8 | public interface StorageVolume { 9 | @BField 10 | File mInternalPath(); 11 | 12 | @BField 13 | File mPath(); 14 | } 15 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/renderscript/RenderScriptCacheDir.java: -------------------------------------------------------------------------------- 1 | package black.android.renderscript; 2 | 3 | import java.io.File; 4 | import top.niunaijun.blackreflection.annotation.BClassName; 5 | import top.niunaijun.blackreflection.annotation.BStaticMethod; 6 | 7 | @BClassName("android.renderscript.RenderScriptCacheDir") 8 | public interface RenderScriptCacheDir { 9 | @BStaticMethod 10 | void setupDiskCache(File File0); 11 | } 12 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/rms/HwSysResImplP.java: -------------------------------------------------------------------------------- 1 | package black.android.rms; 2 | 3 | import java.util.Map; 4 | import top.niunaijun.blackreflection.annotation.BClassName; 5 | import top.niunaijun.blackreflection.annotation.BField; 6 | 7 | @BClassName("android.rms.HwSysResImpl") 8 | public interface HwSysResImplP { 9 | @BField 10 | Map> mWhiteListMap(); 11 | } 12 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/rms/resource/ReceiverResourceLP.java: -------------------------------------------------------------------------------- 1 | package black.android.rms.resource; 2 | 3 | import top.niunaijun.blackreflection.annotation.BClassName; 4 | import top.niunaijun.blackreflection.annotation.BField; 5 | 6 | @BClassName("android.rms.resource.ReceiverResource") 7 | public interface ReceiverResourceLP { 8 | @BField 9 | Object mResourceConfig(); 10 | } 11 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/rms/resource/ReceiverResourceM.java: -------------------------------------------------------------------------------- 1 | package black.android.rms.resource; 2 | 3 | import top.niunaijun.blackreflection.annotation.BClassName; 4 | import top.niunaijun.blackreflection.annotation.BField; 5 | 6 | @BClassName("android.rms.resource.ReceiverResource") 7 | public interface ReceiverResourceM { 8 | @BField 9 | String[] mWhiteList(); 10 | } 11 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/rms/resource/ReceiverResourceN.java: -------------------------------------------------------------------------------- 1 | package black.android.rms.resource; 2 | 3 | import java.util.List; 4 | import top.niunaijun.blackreflection.annotation.BClassName; 5 | import top.niunaijun.blackreflection.annotation.BField; 6 | 7 | @BClassName("android.rms.resource.ReceiverResource") 8 | public interface ReceiverResourceN { 9 | @BField 10 | List mWhiteList(); 11 | } 12 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/rms/resource/ReceiverResourceO.java: -------------------------------------------------------------------------------- 1 | package black.android.rms.resource; 2 | 3 | import java.util.Map; 4 | import top.niunaijun.blackreflection.annotation.BClassName; 5 | import top.niunaijun.blackreflection.annotation.BField; 6 | 7 | @BClassName("android.rms.resource.ReceiverResource") 8 | public interface ReceiverResourceO { 9 | @BField 10 | Map> mWhiteListMap(); 11 | } 12 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/telephony/NeighboringCellInfo.java: -------------------------------------------------------------------------------- 1 | package black.android.telephony; 2 | 3 | import top.niunaijun.blackreflection.annotation.BClassName; 4 | import top.niunaijun.blackreflection.annotation.BField; 5 | 6 | @BClassName("android.telephony.NeighboringCellInfo") 7 | public interface NeighboringCellInfo { 8 | @BField 9 | int mCid(); 10 | 11 | @BField 12 | int mLac(); 13 | 14 | @BField 15 | int mRssi(); 16 | } 17 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/telephony/SmsManager.java: -------------------------------------------------------------------------------- 1 | package black.android.telephony; 2 | 3 | import top.niunaijun.blackreflection.annotation.BClassName; 4 | import top.niunaijun.blackreflection.annotation.BMethod; 5 | 6 | @BClassName("android.telephony.SmsManager") 7 | public interface SmsManager { 8 | @BMethod 9 | Boolean getAutoPersisting(); 10 | 11 | @BMethod 12 | void setAutoPersisting(boolean boolean0); 13 | } 14 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/util/Singleton.java: -------------------------------------------------------------------------------- 1 | package black.android.util; 2 | 3 | import top.niunaijun.blackreflection.annotation.BClassName; 4 | import top.niunaijun.blackreflection.annotation.BField; 5 | import top.niunaijun.blackreflection.annotation.BMethod; 6 | 7 | @BClassName("android.util.Singleton") 8 | public interface Singleton { 9 | @BField 10 | Object mInstance(); 11 | 12 | @BMethod 13 | Object get(); 14 | } 15 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/view/CompatibilityInfoHolder.java: -------------------------------------------------------------------------------- 1 | package black.android.view; 2 | 3 | import top.niunaijun.blackreflection.annotation.BClassName; 4 | import top.niunaijun.blackreflection.annotation.BMethod; 5 | 6 | @BClassName("android.view.CompatibilityInfoHolder") 7 | public interface CompatibilityInfoHolder { 8 | @BMethod 9 | void set(); 10 | } 11 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/view/Display.java: -------------------------------------------------------------------------------- 1 | package black.android.view; 2 | 3 | import android.os.IInterface; 4 | import top.niunaijun.blackreflection.annotation.BClassName; 5 | import top.niunaijun.blackreflection.annotation.BStaticField; 6 | 7 | @BClassName("android.view.Display") 8 | public interface Display { 9 | @BStaticField 10 | IInterface sWindowManager(); 11 | } 12 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/view/DisplayAdjustments.java: -------------------------------------------------------------------------------- 1 | package black.android.view; 2 | 3 | import top.niunaijun.blackreflection.annotation.BClassName; 4 | import top.niunaijun.blackreflection.annotation.BMethod; 5 | 6 | @BClassName("android.view.DisplayAdjustments") 7 | public interface DisplayAdjustments { 8 | @BMethod 9 | void setCompatibilityInfo(); 10 | } 11 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/view/HardwareRenderer.java: -------------------------------------------------------------------------------- 1 | package black.android.view; 2 | 3 | import java.io.File; 4 | import top.niunaijun.blackreflection.annotation.BClassName; 5 | import top.niunaijun.blackreflection.annotation.BStaticMethod; 6 | 7 | @BClassName("android.view.HardwareRenderer") 8 | public interface HardwareRenderer { 9 | @BStaticMethod 10 | void setupDiskCache(File File0); 11 | } 12 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/view/RenderScript.java: -------------------------------------------------------------------------------- 1 | package black.android.view; 2 | 3 | import java.io.File; 4 | import top.niunaijun.blackreflection.annotation.BClassName; 5 | import top.niunaijun.blackreflection.annotation.BStaticMethod; 6 | 7 | @BClassName("android.renderscript.RenderScript") 8 | public interface RenderScript { 9 | @BStaticMethod 10 | void setupDiskCache(File File0); 11 | } 12 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/view/SurfaceControl.java: -------------------------------------------------------------------------------- 1 | package black.android.view; 2 | 3 | import android.graphics.Bitmap; 4 | import top.niunaijun.blackreflection.annotation.BClassName; 5 | import top.niunaijun.blackreflection.annotation.BStaticMethod; 6 | 7 | @BClassName("android.view.SurfaceControl") 8 | public interface SurfaceControl { 9 | @BStaticMethod 10 | Bitmap screnshot(int int0, int int1); 11 | } 12 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/view/ThreadedRenderer.java: -------------------------------------------------------------------------------- 1 | package black.android.view; 2 | 3 | import java.io.File; 4 | import top.niunaijun.blackreflection.annotation.BClassName; 5 | import top.niunaijun.blackreflection.annotation.BStaticMethod; 6 | 7 | @BClassName("android.view.ThreadedRenderer") 8 | public interface ThreadedRenderer { 9 | @BStaticMethod 10 | void setupDiskCache(File File0); 11 | } 12 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/android/widget/Toast.java: -------------------------------------------------------------------------------- 1 | package black.android.widget; 2 | 3 | import android.os.IInterface; 4 | import top.niunaijun.blackreflection.annotation.BClassName; 5 | import top.niunaijun.blackreflection.annotation.BStaticField; 6 | 7 | @BClassName("android.widget.Toast") 8 | public interface Toast { 9 | @BStaticField 10 | IInterface sService(); 11 | } 12 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/com/android/internal/telephony/PhoneConstantsMtk.java: -------------------------------------------------------------------------------- 1 | package black.com.android.internal.telephony; 2 | 3 | import top.niunaijun.blackreflection.annotation.BClassName; 4 | import top.niunaijun.blackreflection.annotation.BStaticField; 5 | 6 | @BClassName("com.android.internal.telephony.PhoneConstants") 7 | public interface PhoneConstantsMtk { 8 | @BStaticField 9 | int GEMINI_SIM_NUM(); 10 | } 11 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/com/android/internal/view/IInputMethodManager.java: -------------------------------------------------------------------------------- 1 | package black.com.android.internal.view; 2 | 3 | import top.niunaijun.blackreflection.annotation.BClassName; 4 | 5 | @BClassName("com.android.internal.view.IInputMethodManager") 6 | public interface IInputMethodManager {} 7 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/dalvik/system/BaseDexClassLoader.java: -------------------------------------------------------------------------------- 1 | package black.dalvik.system; 2 | 3 | import top.niunaijun.blackreflection.annotation.BClassName; 4 | import top.niunaijun.blackreflection.annotation.BField; 5 | 6 | @BClassName("dalvik.system.BaseDexClassLoader") 7 | public interface BaseDexClassLoader { 8 | 9 | @BField 10 | Object sharedLibraryLoaders(); 11 | } 12 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/java/io/File.java: -------------------------------------------------------------------------------- 1 | package black.java.io; 2 | 3 | import top.niunaijun.blackreflection.annotation.BClassName; 4 | import top.niunaijun.blackreflection.annotation.BStaticField; 5 | 6 | @BClassName("java.io.File") 7 | public interface File { 8 | @BStaticField 9 | Object fs(); 10 | } 11 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/java/io/FileSystem.java: -------------------------------------------------------------------------------- 1 | package black.java.io; 2 | 3 | import top.niunaijun.blackreflection.annotation.BClassName; 4 | 5 | @BClassName("java.io.FileSystem") 6 | public interface FileSystem {} 7 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/java/io/UnixFileSystem.java: -------------------------------------------------------------------------------- 1 | package black.java.io; 2 | 3 | import top.niunaijun.blackreflection.annotation.BClassName; 4 | 5 | @BClassName("java.io.UnixFileSystem") 6 | public interface UnixFileSystem {} 7 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/java/lang/ThreadGroup.java: -------------------------------------------------------------------------------- 1 | package black.java.lang; 2 | 3 | import java.util.List; 4 | import top.niunaijun.blackreflection.annotation.BClassName; 5 | import top.niunaijun.blackreflection.annotation.BField; 6 | 7 | @BClassName("java.lang.ThreadGroup") 8 | public interface ThreadGroup { 9 | @BField 10 | List groups(); 11 | 12 | @BField 13 | java.lang.ThreadGroup parent(); 14 | } 15 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/java/lang/ThreadGroupN.java: -------------------------------------------------------------------------------- 1 | package black.java.lang; 2 | 3 | import top.niunaijun.blackreflection.annotation.BClassName; 4 | import top.niunaijun.blackreflection.annotation.BField; 5 | 6 | @BClassName("java.lang.ThreadGroup") 7 | public interface ThreadGroupN { 8 | @BField 9 | java.lang.ThreadGroup[] groups(); 10 | 11 | @BField 12 | Integer ngroups(); 13 | 14 | @BField 15 | java.lang.ThreadGroup parent(); 16 | } 17 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/libcore/io/ForwardingOs.java: -------------------------------------------------------------------------------- 1 | package black.libcore.io; 2 | 3 | import top.niunaijun.blackreflection.annotation.BClassName; 4 | import top.niunaijun.blackreflection.annotation.BField; 5 | 6 | @BClassName("libcore.io.ForwardingOs") 7 | public interface ForwardingOs { 8 | @BField 9 | Object os(); 10 | } 11 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/libcore/io/Libcore.java: -------------------------------------------------------------------------------- 1 | package black.libcore.io; 2 | 3 | import top.niunaijun.blackreflection.annotation.BClassName; 4 | import top.niunaijun.blackreflection.annotation.BStaticField; 5 | 6 | @BClassName("libcore.io.Libcore") 7 | public interface Libcore { 8 | @BStaticField 9 | Object os(); 10 | } 11 | -------------------------------------------------------------------------------- /android-mirror/src/main/java/black/libcore/io/Os.java: -------------------------------------------------------------------------------- 1 | package black.libcore.io; 2 | 3 | import top.niunaijun.blackreflection.annotation.BClassName; 4 | 5 | @BClassName("libcore.io.Os") 6 | public interface Os {} 7 | -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | /SandBox32/release/output-metadata.json 3 | -------------------------------------------------------------------------------- /app/abi.gradle: -------------------------------------------------------------------------------- 1 | android { 2 | flavorDimensions "abi" 3 | 4 | productFlavors { 5 | v7 { 6 | dimension "abi" 7 | ndk { 8 | abiFilters "armeabi-v7a" 9 | } 10 | } 11 | 12 | v8 { 13 | dimension "abi" 14 | ndk { 15 | abiFilters "arm64-v8a" 16 | } 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /app/gradle.properties: -------------------------------------------------------------------------------- 1 | app_versionCode=1004 2 | app_versionName=1.0.4 -------------------------------------------------------------------------------- /app/signing.gradle: -------------------------------------------------------------------------------- 1 | android { 2 | signingConfigs { 3 | release { 4 | storeFile file(gradle.ext.sign_storeFile) 5 | storePassword gradle.ext.sign_storePassword 6 | keyAlias gradle.ext.sign_keyAlias 7 | keyPassword gradle.ext.sign_keyPassword 8 | v1SigningEnabled true 9 | v2SigningEnabled true 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/aidl/top/niunaijun/blackboxa/screen/IScreenOrientation.aidl: -------------------------------------------------------------------------------- 1 | // IScreenOrientation.aidl 2 | package top.niunaijun.blackboxa.screen; 3 | 4 | import top.niunaijun.blackboxa.screen.ScreenFlippedListener; 5 | 6 | interface IScreenOrientation { 7 | void registerScreenFlippedListener(in String packageName ,in ScreenFlippedListener listener); 8 | void open(); 9 | void close(); 10 | } -------------------------------------------------------------------------------- /app/src/main/aidl/top/niunaijun/blackboxa/screen/ScreenFlippedListener.aidl: -------------------------------------------------------------------------------- 1 | package top.niunaijun.blackboxa.screen; 2 | 3 | interface ScreenFlippedListener { 4 | void onFlipped(); 5 | } 6 | -------------------------------------------------------------------------------- /app/src/main/kotlin/com/hello/sandbox/ui/guide/HideGuideInfo.kt: -------------------------------------------------------------------------------- 1 | package com.hello.sandbox.ui.guide 2 | 3 | import android.graphics.drawable.Drawable 4 | 5 | data class HideGuideInfo(val title: String, val icon: Drawable, val description: String) 6 | -------------------------------------------------------------------------------- /app/src/main/kotlin/com/hello/sandbox/ui/home/AppInstallerListener.kt: -------------------------------------------------------------------------------- 1 | package com.hello.sandbox.ui.home 2 | 3 | import android.net.Uri 4 | 5 | interface AppInstallerListener { 6 | fun onAppInstallOrUnInstall(action: String, data: Uri?) 7 | } 8 | -------------------------------------------------------------------------------- /app/src/main/kotlin/com/hello/sandbox/ui/home/HomeBannerInfo.kt: -------------------------------------------------------------------------------- 1 | package com.hello.sandbox.ui.home 2 | 3 | import android.graphics.drawable.Drawable 4 | 5 | data class HomeBannerInfo(val url: String, val icon: Drawable) 6 | -------------------------------------------------------------------------------- /app/src/main/kotlin/com/hello/sandbox/ui/screen/ScreenOrientationAction.kt: -------------------------------------------------------------------------------- 1 | package com.hello.sandbox.ui.screen 2 | 3 | import top.niunaijun.blackboxa.screen.ScreenFlippedListener 4 | 5 | interface ScreenOrientationAction { 6 | 7 | fun registerScreenFlippedListener(packageName: String, listener: ScreenFlippedListener) 8 | 9 | fun open() 10 | 11 | fun close() 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/kotlin/com/hello/sandbox/ui/search/HeaderAppBean.kt: -------------------------------------------------------------------------------- 1 | package com.hello.sandbox.ui.search 2 | 3 | import android.graphics.drawable.Drawable 4 | 5 | data class HeaderAppBean( 6 | val name: String, 7 | val icon: Drawable, 8 | val packageName: String, 9 | val sourceDir: String, 10 | val downloadUrl: String 11 | ) 12 | -------------------------------------------------------------------------------- /app/src/main/kotlin/com/hello/sandbox/user/UserLoginInfo.kt: -------------------------------------------------------------------------------- 1 | package com.hello.sandbox.user 2 | 3 | import androidx.annotation.Keep 4 | 5 | @Keep data class UserLoginInfo(var userId: String = "") 6 | -------------------------------------------------------------------------------- /app/src/main/kotlin/com/hello/sandbox/util/ViewUtil.kt: -------------------------------------------------------------------------------- 1 | package com.hello.sandbox.util 2 | 3 | import android.view.View 4 | import com.hello.sandbox.common.util.ViewUtil 5 | 6 | inline fun View.singleClickListener(onClickListenr: View.OnClickListener) { 7 | ViewUtil.singleClickListener(this, onClickListenr) 8 | } 9 | -------------------------------------------------------------------------------- /app/src/main/kotlin/top/niunaijun/blackboxa/bean/GmsBean.kt: -------------------------------------------------------------------------------- 1 | package top.niunaijun.blackboxa.bean 2 | 3 | /** 4 | * 5 | * @Description: 6 | * @Author: BlackBox 7 | * @CreateDate: 2022/3/2 21:30 8 | */ 9 | data class GmsBean(val userID: Int, val userName: String, var isInstalledGms: Boolean) 10 | 11 | data class GmsInstallBean(val userID: Int, val success: Boolean, val msg: String) 12 | -------------------------------------------------------------------------------- /app/src/main/kotlin/top/niunaijun/blackboxa/bean/XpModuleInfo.kt: -------------------------------------------------------------------------------- 1 | package top.niunaijun.blackboxa.bean 2 | 3 | import android.graphics.drawable.Drawable 4 | 5 | /** 6 | * 7 | * @Description: 8 | * @Author: wukaicheng 9 | * @CreateDate: 2021/5/2 21:03 10 | */ 11 | data class XpModuleInfo( 12 | val name: String, 13 | val desc: String, 14 | val packageName: String, 15 | val version: String, 16 | var enable: Boolean, 17 | val icon: Drawable 18 | ) 19 | -------------------------------------------------------------------------------- /app/src/main/kotlin/top/niunaijun/blackboxa/util/ResUtil.kt: -------------------------------------------------------------------------------- 1 | package top.niunaijun.blackboxa.util 2 | 3 | import androidx.annotation.StringRes 4 | import top.niunaijun.blackboxa.app.App 5 | 6 | fun getString(@StringRes id: Int, vararg arg: String): String { 7 | if (arg.isEmpty()) { 8 | return App.getContext().getString(id) 9 | } 10 | return App.getContext().getString(id, *arg) 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-anydpi/ic_add.xml: -------------------------------------------------------------------------------- 1 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-hdpi/ic_add.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_location_change.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-hdpi/ic_location_change.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-hdpi/ic_search.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-mdpi/ic_add.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_location_change.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-mdpi/ic_location_change.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-mdpi/ic_search.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/bottom_tab_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xhdpi/bottom_tab_add.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/bottom_tab_home_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xhdpi/bottom_tab_home_selected.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/bottom_tab_home_unselected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xhdpi/bottom_tab_home_unselected.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/bottom_tab_me_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xhdpi/bottom_tab_me_selected.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/bottom_tab_me_unselected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xhdpi/bottom_tab_me_unselected.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/fragment_me_about.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xhdpi/fragment_me_about.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/fragment_me_help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xhdpi/fragment_me_help.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/fragment_me_logout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xhdpi/fragment_me_logout.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/fragment_me_question.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xhdpi/fragment_me_question.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/fragment_me_share.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xhdpi/fragment_me_share.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/hide_bg_guide1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xhdpi/hide_bg_guide1.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/hide_bg_guide2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xhdpi/hide_bg_guide2.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/hide_bg_guide3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xhdpi/hide_bg_guide3.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/home_banner_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xhdpi/home_banner_1.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/home_banner_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xhdpi/home_banner_2.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/home_banner_3.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xhdpi/home_banner_3.jpeg -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/home_change_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xhdpi/home_change_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/home_icon_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xhdpi/home_icon_add.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/home_rotate_screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xhdpi/home_rotate_screen.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/home_set_secret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xhdpi/home_set_secret.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xhdpi/ic_add.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_location_change.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xhdpi/ic_location_change.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xhdpi/ic_search.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/icon_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xhdpi/icon_arrow.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/launch_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xhdpi/launch_bg.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/me_default_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xhdpi/me_default_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/momo_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xhdpi/momo_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/search.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xhdpi/search.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/splash_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xhdpi/splash_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/splash_icon_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xhdpi/splash_icon_small.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/tantan_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xhdpi/tantan_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/bottom_tab_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xxhdpi/bottom_tab_add.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/bottom_tab_home_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xxhdpi/bottom_tab_home_selected.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/bottom_tab_home_unselected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xxhdpi/bottom_tab_home_unselected.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/bottom_tab_me_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xxhdpi/bottom_tab_me_selected.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/bottom_tab_me_unselected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xxhdpi/bottom_tab_me_unselected.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/calculator_pop_close.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xxhdpi/calculator_pop_close.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/change_app_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xxhdpi/change_app_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/fragment_me_about.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xxhdpi/fragment_me_about.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/fragment_me_help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xxhdpi/fragment_me_help.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/fragment_me_logout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xxhdpi/fragment_me_logout.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/fragment_me_question.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xxhdpi/fragment_me_question.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/fragment_me_share.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xxhdpi/fragment_me_share.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/general_error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xxhdpi/general_error.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/home_change_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xxhdpi/home_change_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/home_rotate_screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xxhdpi/home_rotate_screen.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/home_set_secret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xxhdpi/home_set_secret.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xxhdpi/ic_add.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_location_change.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xxhdpi/ic_location_change.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xxhdpi/ic_search.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/icon_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xxhdpi/icon_arrow.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/icon_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xxhdpi/icon_close.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/icon_fake.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xxhdpi/icon_fake.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/screen_orientation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xxhdpi/screen_orientation.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/search.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xxhdpi/search.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/setting_password_next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xxhdpi/setting_password_next.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/setting_password_tip_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xxhdpi/setting_password_tip_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/splash_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xxhdpi/splash_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/splash_icon_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/drawable-xxhdpi/splash_icon_small.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/home_icon_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/shape_btn_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/shape_btn_cancel_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/shape_change_icon_normall.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/shape_change_icon_selected.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/shape_change_icon_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/shape_color_3ec0aa_14.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/shape_color_3ec0aa_24.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/shape_color_3ec0aa_32.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/shape_color_3ec0aa_9.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/shape_color_aaaaaa_32.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/shape_detail_input.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/shape_home_icon_label.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/sort_text_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/sort_text_view_hint_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_login.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/layout/home_pager_item.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/layout/item_viewpager.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/layout/profile_view_line.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/layout/view_switch.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/menu/menu_search.xml: -------------------------------------------------------------------------------- 1 | 2 |

4 | 5 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_beta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/mipmap-hdpi/ic_launcher_beta.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round_beta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/mipmap-hdpi/ic_launcher_round_beta.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-ldpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/mipmap-ldpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-ldpi/ic_launcher_beta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/mipmap-ldpi/ic_launcher_beta.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-ldpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/mipmap-ldpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-ldpi/ic_launcher_round_beta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/mipmap-ldpi/ic_launcher_round_beta.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_beta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/mipmap-mdpi/ic_launcher_beta.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round_beta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/mipmap-mdpi/ic_launcher_round_beta.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_beta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/mipmap-xhdpi/ic_launcher_beta.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round_beta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/mipmap-xhdpi/ic_launcher_round_beta.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_beta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/mipmap-xxhdpi/ic_launcher_beta.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round_beta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/mipmap-xxhdpi/ic_launcher_round_beta.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_beta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/mipmap-xxxhdpi/ic_launcher_beta.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round_beta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round_beta.png -------------------------------------------------------------------------------- /app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5dp 3 | 6dp 4 | 10dp 5 | 16dp 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/xml/network_security_config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/Screenshot_20230629_103013.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/assets/Screenshot_20230629_103013.png -------------------------------------------------------------------------------- /assets/Screenshot_20230629_103039.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/assets/Screenshot_20230629_103039.png -------------------------------------------------------------------------------- /assets/Screenshot_20230629_103051.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/assets/Screenshot_20230629_103051.png -------------------------------------------------------------------------------- /calc/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /calc/consumer-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/consumer-rules.pro -------------------------------------------------------------------------------- /calc/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /calc/src/main/java/com/hello/sandbox/calc/core/AutoCalcException.java: -------------------------------------------------------------------------------- 1 | package com.hello.sandbox.calc.core; 2 | 3 | /** 4 | * AutoCalc 在计算中发生的异常 5 | */ 6 | public class AutoCalcException extends Exception { 7 | public AutoCalcException(String message) { 8 | super(message); 9 | } 10 | } -------------------------------------------------------------------------------- /calc/src/main/java/com/hello/sandbox/calc/core/AutoCalcInfiniteException.java: -------------------------------------------------------------------------------- 1 | package com.hello.sandbox.calc.core; 2 | 3 | /** 4 | * AutoCalc 在计算中发生无限大异常 5 | */ 6 | public class AutoCalcInfiniteException extends Exception { 7 | public AutoCalcInfiniteException() { 8 | super("Calc Infinite"); 9 | } 10 | } -------------------------------------------------------------------------------- /calc/src/main/java/com/hello/sandbox/calc/frag/CalcResultChangeListener.java: -------------------------------------------------------------------------------- 1 | package com.hello.sandbox.calc.frag; 2 | public interface CalcResultChangeListener { 3 | 4 | void onChange(String text); 5 | } 6 | -------------------------------------------------------------------------------- /calc/src/main/res/anim/dialog_bottom_down_hide.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | -------------------------------------------------------------------------------- /calc/src/main/res/anim/dialog_bottom_down_show.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | -------------------------------------------------------------------------------- /calc/src/main/res/anim/dialog_bottom_up_hide.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | -------------------------------------------------------------------------------- /calc/src/main/res/anim/dialog_bottom_up_show.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | -------------------------------------------------------------------------------- /calc/src/main/res/anim/fade_hide.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | -------------------------------------------------------------------------------- /calc/src/main/res/anim/fade_show.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | -------------------------------------------------------------------------------- /calc/src/main/res/color/btn_pad_number.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/arccos.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/arccos.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/arcsin.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/arcsin.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/arctan.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/arctan.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/btn_cbrt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/btn_cbrt.png -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/btn_checkbox_off_normal.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/btn_checkbox_off_normal.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/btn_checkbox_on_normal.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/btn_checkbox_on_normal.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/btn_pad_ac_d.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/btn_pad_ac_d.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/btn_pad_ac_n.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/btn_pad_ac_n.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/btn_pad_c_d.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/btn_pad_c_d.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/btn_pad_c_n.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/btn_pad_c_n.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/btn_pad_del_d.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/btn_pad_del_d.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/btn_pad_del_n.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/btn_pad_del_n.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/btn_pad_div_d.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/btn_pad_div_d.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/btn_pad_div_n.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/btn_pad_div_n.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/btn_pad_equal_n.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/btn_pad_equal_n.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/btn_pad_minus_d.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/btn_pad_minus_d.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/btn_pad_minus_n.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/btn_pad_minus_n.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/btn_pad_mul_d.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/btn_pad_mul_d.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/btn_pad_mul_n.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/btn_pad_mul_n.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/btn_pad_neg.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/btn_pad_neg.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/btn_pad_percent_d.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/btn_pad_percent_d.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/btn_pad_percent_n.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/btn_pad_percent_n.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/btn_pad_plus_d.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/btn_pad_plus_d.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/btn_pad_plus_n.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/btn_pad_plus_n.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/btn_pad_switch.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/btn_pad_switch.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/btn_pow.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/btn_pow.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/btn_sqrt.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/btn_sqrt.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/comma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/comma.png -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/cos.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/cos.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/deg.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/deg.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/deg_d.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/deg_d.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/e.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/e.png -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/fac.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/fac.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/iconmv0001.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/iconmv0001.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/iconmv0002.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/iconmv0002.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/iconmv0003.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/iconmv0003.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/iconmv0004.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/iconmv0004.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/iconmv0005.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/iconmv0005.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/iconmv0006.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/iconmv0006.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/iconmv0007.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/iconmv0007.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/iconmv0008.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/iconmv0008.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/iconmv0009.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/iconmv0009.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/iconmv0010.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/iconmv0010.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/iconmv0011.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/iconmv0011.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/iconmv0012.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/iconmv0012.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/iconmv0013.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/iconmv0013.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/iconmv0014.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/iconmv0014.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/iconmv0015.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/iconmv0015.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/iconmv0016.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/iconmv0016.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/iconmv0017.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/iconmv0017.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/iconmv0018.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/iconmv0018.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/iconmv0019.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/iconmv0019.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/iconmv0020.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/iconmv0020.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/iconmv0021.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/iconmv0021.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/iconmv0022.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/iconmv0022.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/iconmv0023.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/iconmv0023.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/iconmv0024.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/iconmv0024.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/left_p.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/left_p.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/lg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/lg.png -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/ln.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/ln.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/pi.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/pi.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/rad.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/rad.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/right_p.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/right_p.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/rpc.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/rpc.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/second.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/second.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/second_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/second_active.png -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/second_d.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/second_d.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/sin.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/sin.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-mdpi/tan.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-mdpi/tan.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/btn_pad_ac_d.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/btn_pad_ac_d.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/btn_pad_ac_n.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/btn_pad_ac_n.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/btn_pad_c_d.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/btn_pad_c_d.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/btn_pad_c_n.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/btn_pad_c_n.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/btn_pad_del_d.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/btn_pad_del_d.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/btn_pad_del_n.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/btn_pad_del_n.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/btn_pad_div_d.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/btn_pad_div_d.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/btn_pad_div_n.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/btn_pad_div_n.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/btn_pad_dot_d.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/btn_pad_dot_d.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/btn_pad_dot_n.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/btn_pad_dot_n.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/btn_pad_equal_d.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/btn_pad_equal_d.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/btn_pad_equal_n.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/btn_pad_equal_n.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/btn_pad_minus_d.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/btn_pad_minus_d.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/btn_pad_minus_n.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/btn_pad_minus_n.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/btn_pad_mul_d.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/btn_pad_mul_d.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/btn_pad_mul_n.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/btn_pad_mul_n.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/btn_pad_neg.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/btn_pad_neg.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/btn_pad_percent_d.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/btn_pad_percent_d.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/btn_pad_percent_n.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/btn_pad_percent_n.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/btn_pad_plus_d.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/btn_pad_plus_d.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/btn_pad_plus_n.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/btn_pad_plus_n.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/iconmv0001.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/iconmv0001.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/iconmv0002.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/iconmv0002.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/iconmv0003.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/iconmv0003.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/iconmv0004.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/iconmv0004.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/iconmv0005.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/iconmv0005.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/iconmv0006.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/iconmv0006.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/iconmv0007.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/iconmv0007.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/iconmv0008.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/iconmv0008.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/iconmv0009.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/iconmv0009.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/iconmv0010.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/iconmv0010.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/iconmv0011.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/iconmv0011.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/iconmv0012.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/iconmv0012.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/iconmv0013.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/iconmv0013.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/iconmv0014.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/iconmv0014.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/iconmv0015.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/iconmv0015.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/iconmv0016.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/iconmv0016.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/iconmv0017.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/iconmv0017.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/iconmv0018.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/iconmv0018.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/iconmv0019.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/iconmv0019.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/iconmv0020.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/iconmv0020.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/iconmv0021.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/iconmv0021.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/iconmv0022.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/iconmv0022.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/iconmv0023.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/iconmv0023.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xhdpi/iconmv0024.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xhdpi/iconmv0024.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/arccos.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/arccos.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/arcsin.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/arcsin.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/arctan.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/arctan.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/btn_cbrt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/btn_cbrt.png -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/btn_checkbox_off_normal.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/btn_checkbox_off_normal.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/btn_checkbox_on_normal.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/btn_checkbox_on_normal.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/btn_pad_ac_d.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/btn_pad_ac_d.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/btn_pad_ac_n.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/btn_pad_ac_n.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/btn_pad_c_d.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/btn_pad_c_d.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/btn_pad_c_n.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/btn_pad_c_n.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/btn_pad_del_d.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/btn_pad_del_d.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/btn_pad_del_n.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/btn_pad_del_n.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/btn_pad_div_d.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/btn_pad_div_d.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/btn_pad_div_n.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/btn_pad_div_n.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/btn_pad_dot_d.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/btn_pad_dot_d.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/btn_pad_dot_n.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/btn_pad_dot_n.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/btn_pad_equal_d.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/btn_pad_equal_d.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/btn_pad_equal_n.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/btn_pad_equal_n.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/btn_pad_minus_d.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/btn_pad_minus_d.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/btn_pad_minus_n.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/btn_pad_minus_n.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/btn_pad_mul_d.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/btn_pad_mul_d.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/btn_pad_mul_n.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/btn_pad_mul_n.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/btn_pad_neg.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/btn_pad_neg.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/btn_pad_percent_d.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/btn_pad_percent_d.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/btn_pad_percent_n.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/btn_pad_percent_n.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/btn_pad_plus_d.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/btn_pad_plus_d.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/btn_pad_plus_n.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/btn_pad_plus_n.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/btn_pad_switch.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/btn_pad_switch.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/btn_pow.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/btn_pow.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/btn_sqrt.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/btn_sqrt.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/comma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/comma.png -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/cos.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/cos.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/deg.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/deg.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/deg_d.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/deg_d.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/e.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/e.png -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/fac.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/fac.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/iconmv0001.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/iconmv0001.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/iconmv0002.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/iconmv0002.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/iconmv0003.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/iconmv0003.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/iconmv0004.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/iconmv0004.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/iconmv0005.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/iconmv0005.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/iconmv0006.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/iconmv0006.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/iconmv0007.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/iconmv0007.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/iconmv0008.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/iconmv0008.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/iconmv0009.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/iconmv0009.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/iconmv0010.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/iconmv0010.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/iconmv0011.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/iconmv0011.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/iconmv0012.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/iconmv0012.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/iconmv0013.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/iconmv0013.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/iconmv0014.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/iconmv0014.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/iconmv0015.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/iconmv0015.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/iconmv0016.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/iconmv0016.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/iconmv0017.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/iconmv0017.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/iconmv0018.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/iconmv0018.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/iconmv0019.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/iconmv0019.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/iconmv0020.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/iconmv0020.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/iconmv0021.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/iconmv0021.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/iconmv0022.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/iconmv0022.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/iconmv0023.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/iconmv0023.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/iconmv0024.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/iconmv0024.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/left_p.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/left_p.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/lg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/lg.png -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/ln.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/ln.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/pi.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/pi.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/rad.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/rad.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/right_p.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/right_p.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/rpc.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/rpc.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/second.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/second.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/second_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/second_active.png -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/second_d.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/second_d.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/sin.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/sin.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable-xxhdpi/tan.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/calc/src/main/res/drawable-xxhdpi/tan.webp -------------------------------------------------------------------------------- /calc/src/main/res/drawable/btn_2nd.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /calc/src/main/res/drawable/btn_2nd_active.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /calc/src/main/res/drawable/btn_calculate.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /calc/src/main/res/drawable/btn_calculate_n.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /calc/src/main/res/drawable/btn_calculate_p.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /calc/src/main/res/drawable/btn_check_box.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /calc/src/main/res/drawable/btn_deg.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /calc/src/main/res/drawable/btn_pad_ac.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /calc/src/main/res/drawable/btn_pad_c.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /calc/src/main/res/drawable/btn_pad_del.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /calc/src/main/res/drawable/btn_pad_div.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /calc/src/main/res/drawable/btn_pad_dot.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /calc/src/main/res/drawable/btn_pad_equal.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /calc/src/main/res/drawable/btn_pad_minus.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /calc/src/main/res/drawable/btn_pad_mul.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /calc/src/main/res/drawable/btn_pad_number.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /calc/src/main/res/drawable/btn_pad_number_last.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /calc/src/main/res/drawable/btn_pad_number_last_s.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /calc/src/main/res/drawable/btn_pad_percent.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /calc/src/main/res/drawable/btn_pad_plus.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /calc/src/main/res/drawable/dialog_white_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /common/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /common/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | -------------------------------------------------------------------------------- /common/src/main/assets/fonts/Aqum-classic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/common/src/main/assets/fonts/Aqum-classic.otf -------------------------------------------------------------------------------- /common/src/main/assets/fonts/ArialRounded-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/common/src/main/assets/fonts/ArialRounded-Bold.ttf -------------------------------------------------------------------------------- /common/src/main/assets/fonts/DINCondensed-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/common/src/main/assets/fonts/DINCondensed-Bold.ttf -------------------------------------------------------------------------------- /common/src/main/assets/fonts/Roboto-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/common/src/main/assets/fonts/Roboto-Italic.ttf -------------------------------------------------------------------------------- /common/src/main/assets/fonts/Roboto-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/common/src/main/assets/fonts/Roboto-Medium.ttf -------------------------------------------------------------------------------- /common/src/main/assets/fonts/Roboto-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/common/src/main/assets/fonts/Roboto-Regular.ttf -------------------------------------------------------------------------------- /common/src/main/assets/fonts/RobotoCondensed-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/common/src/main/assets/fonts/RobotoCondensed-Regular.ttf -------------------------------------------------------------------------------- /common/src/main/assets/fonts/Semibold-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/common/src/main/assets/fonts/Semibold-Italic.ttf -------------------------------------------------------------------------------- /common/src/main/java/com/hello/sandbox/common/Config.java: -------------------------------------------------------------------------------- 1 | package com.hello.sandbox.common; 2 | 3 | public class Config { 4 | public static final boolean DEBUG = BuildConfig.DEBUG; 5 | } 6 | -------------------------------------------------------------------------------- /common/src/main/java/com/hello/sandbox/common/DialogExtraState.java: -------------------------------------------------------------------------------- 1 | package com.hello.sandbox.common; 2 | 3 | public interface DialogExtraState { 4 | boolean isShowing(); 5 | 6 | void dismiss(); 7 | } 8 | -------------------------------------------------------------------------------- /common/src/main/java/com/hello/sandbox/common/DialogLifeTracer.java: -------------------------------------------------------------------------------- 1 | package com.hello.sandbox.common; 2 | 3 | public interface DialogLifeTracer { 4 | 5 | void onDialogAttachToWindow(android.app.Dialog dialog); 6 | 7 | void onDialogDetachFromWindow(android.app.Dialog dialog); 8 | } 9 | -------------------------------------------------------------------------------- /common/src/main/java/com/hello/sandbox/common/DialogLifecycleProvider.java: -------------------------------------------------------------------------------- 1 | package com.hello.sandbox.common; 2 | 3 | /** Create by huangzhuqing on 2021/7/14 */ 4 | public interface DialogLifecycleProvider { 5 | default void tracer(DialogLifeTracer tracer) {} 6 | } 7 | -------------------------------------------------------------------------------- /common/src/main/java/com/hello/sandbox/common/rx/MissingBackpressureThrowable.java: -------------------------------------------------------------------------------- 1 | package com.hello.sandbox.common.rx; 2 | 3 | class MissingBackpressureThrowable extends Throwable { 4 | public MissingBackpressureThrowable(String message) { 5 | super(message); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /common/src/main/java/com/hello/sandbox/common/util/NullChecker.java: -------------------------------------------------------------------------------- 1 | package com.hello.sandbox.common.util; 2 | 3 | public class NullChecker { 4 | 5 | public static boolean notNull(Object o) { 6 | return o != null; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /common/src/main/java/com/hello/sandbox/common/util/collections/Unit.java: -------------------------------------------------------------------------------- 1 | package com.hello.sandbox.common.util.collections; 2 | 3 | import rx.functions.Action1; 4 | 5 | public class Unit { 6 | private Unit() {} 7 | 8 | public static final Unit UNIT = new Unit(); 9 | 10 | public static Action1 IGNORE = u -> {}; 11 | } 12 | -------------------------------------------------------------------------------- /common/src/main/java/v/OnDispatchTouchEventListener.java: -------------------------------------------------------------------------------- 1 | package v; 2 | 3 | /** Created by molikto on 6/7/16. */ 4 | import android.view.MotionEvent; 5 | 6 | public interface OnDispatchTouchEventListener { 7 | boolean dispatchTouchEvent(MotionEvent ev); 8 | } 9 | -------------------------------------------------------------------------------- /common/src/main/java/v/pushbubble/OnDispatchTouchEventListener.java: -------------------------------------------------------------------------------- 1 | package v.pushbubble; 2 | 3 | /** Created by molikto on 6/7/16. */ 4 | import android.view.MotionEvent; 5 | 6 | public interface OnDispatchTouchEventListener { 7 | boolean dispatchTouchEvent(MotionEvent ev); 8 | } 9 | -------------------------------------------------------------------------------- /common/src/main/res/drawable-xhdpi/common_checkbox_bg_off.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/common/src/main/res/drawable-xhdpi/common_checkbox_bg_off.webp -------------------------------------------------------------------------------- /common/src/main/res/drawable-xhdpi/common_checkbox_bg_on.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/common/src/main/res/drawable-xhdpi/common_checkbox_bg_on.webp -------------------------------------------------------------------------------- /common/src/main/res/drawable-xhdpi/common_navigation_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/common/src/main/res/drawable-xhdpi/common_navigation_back.png -------------------------------------------------------------------------------- /common/src/main/res/drawable-xhdpi/common_view_push_bubble_bg.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/common/src/main/res/drawable-xhdpi/common_view_push_bubble_bg.9.png -------------------------------------------------------------------------------- /common/src/main/res/drawable-xxhdpi/common_checkbox_bg_off.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/common/src/main/res/drawable-xxhdpi/common_checkbox_bg_off.webp -------------------------------------------------------------------------------- /common/src/main/res/drawable-xxhdpi/common_checkbox_bg_on.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/common/src/main/res/drawable-xxhdpi/common_checkbox_bg_on.webp -------------------------------------------------------------------------------- /common/src/main/res/drawable-xxhdpi/common_view_push_bubble_bg.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/common/src/main/res/drawable-xxhdpi/common_view_push_bubble_bg.9.png -------------------------------------------------------------------------------- /common/src/main/res/drawable-xxhdpi/rect_rounded_shadow.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/common/src/main/res/drawable-xxhdpi/rect_rounded_shadow.9.png -------------------------------------------------------------------------------- /common/src/main/res/drawable/common_button_btn_medium_black.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /common/src/main/res/drawable/common_button_btn_medium_black_with_white_stroke.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /common/src/main/res/drawable/common_button_btn_medium_white.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /common/src/main/res/drawable/common_button_btn_orange_large.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /common/src/main/res/drawable/common_button_btn_orange_press.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /common/src/main/res/drawable/common_button_btn_orange_small.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /common/src/main/res/drawable/common_button_btn_white_medium.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /common/src/main/res/drawable/common_button_btn_white_small.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /common/src/main/res/drawable/common_checkbox_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 7 | -------------------------------------------------------------------------------- /common/src/main/res/drawable/common_primary_ripple.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /common/src/main/res/drawable/common_toast_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /common/src/main/res/drawable/common_view_popup_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /common/src/main/res/drawable/common_view_popup_bg_window.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /common/src/main/res/drawable/common_view_popup_bg_window_big.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /common/src/main/res/drawable/progress_dialog_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /common/src/main/res/drawable/text_cursor.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /common/src/main/res/drawable/tf_rect_dark.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /common/src/main/res/drawable/tf_rect_dark_shape.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | -------------------------------------------------------------------------------- /common/src/main/res/drawable/tf_rect_light.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /common/src/main/res/drawable/tf_rect_rounded_light.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /common/src/main/res/drawable/tf_rect_rounded_light_shape.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /common/src/main/res/drawable/tf_rect_rounded_padding_dark.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /common/src/main/res/drawable/tf_rect_rounded_padding_light.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /common/src/main/res/layout/test_push_small_01.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | -------------------------------------------------------------------------------- /common/src/main/res/values/attrs_navigation_bar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /common/src/main/res/values/common_dimen.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 20sp 5 | 18sp 6 | 12sp 7 | 11sp 8 | 9 | 10dp 10 | -------------------------------------------------------------------------------- /common/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | . 4 | 5 | Choose application 6 | -------------------------------------------------------------------------------- /common/src/main/res/values/styles_checkbox.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | -------------------------------------------------------------------------------- /common/src/main/res/values/styles_popup.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /network/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /network/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | -------------------------------------------------------------------------------- /network/src/main/kotlin/com/hello/sandbox/network/BaseResponse.kt: -------------------------------------------------------------------------------- 1 | package com.hello.sandbox.network 2 | 3 | class BaseResponse { 4 | val data: T? = null 5 | 6 | val errorCode: Int? = null 7 | 8 | val errorMsg: String? = null 9 | 10 | var exception: Exception? = null 11 | } 12 | -------------------------------------------------------------------------------- /network/src/main/kotlin/com/hello/sandbox/network/exception/ErrorMsg.kt: -------------------------------------------------------------------------------- 1 | package com.hello.sandbox.network.exception 2 | 3 | import androidx.annotation.Keep 4 | 5 | @Keep data class ErrorMsg(var meta: ErrorMeta?) 6 | 7 | @Keep data class ErrorMeta(var code: Int, var message: String) 8 | -------------------------------------------------------------------------------- /walle/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "channelInfoList": [ 3 | { 4 | "channel": "huawei" 5 | }, 6 | { 7 | "channel": "xiaomi" 8 | }, 9 | { 10 | "channel": "oppo" 11 | }, 12 | { 13 | "channel": "vivo" 14 | }, 15 | { 16 | "channel": "qq" 17 | }, 18 | { 19 | "channel": "GdtTianmiao01" 20 | } 21 | ] 22 | } -------------------------------------------------------------------------------- /walle/run_sign.sh: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | java -jar ./walle/walle-cli-all.jar batch2 -f ./walle/config.json $1 -------------------------------------------------------------------------------- /walle/walle-cli-all.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Monster-GM/sandbox/0a4d3d437bcac0775d416cc1c9c8ba66017bebe5/walle/walle-cli-all.jar -------------------------------------------------------------------------------- /xpopup/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /xpopup/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | -------------------------------------------------------------------------------- /xpopup/src/main/java/com/lxj/xpopup/enums/LayoutStatus.java: -------------------------------------------------------------------------------- 1 | package com.lxj.xpopup.enums; 2 | 3 | /** 4 | * Description: 5 | */ 6 | public enum LayoutStatus { 7 | Open, Close, Opening, Closing 8 | } 9 | -------------------------------------------------------------------------------- /xpopup/src/main/java/com/lxj/xpopup/enums/PopupPosition.java: -------------------------------------------------------------------------------- 1 | package com.lxj.xpopup.enums; 2 | 3 | /** 4 | * Description: 弹窗相对于目标View显示的位置 5 | */ 6 | public enum PopupPosition { 7 | Left, Right, Top, Bottom 8 | } 9 | -------------------------------------------------------------------------------- /xpopup/src/main/java/com/lxj/xpopup/enums/PopupStatus.java: -------------------------------------------------------------------------------- 1 | package com.lxj.xpopup.enums; 2 | 3 | /** 4 | * Description: Popup显示和隐藏状态 5 | */ 6 | public enum PopupStatus { 7 | Show, // 显示 8 | Showing, // 正在执行显示动画 9 | Dismiss, // 隐藏 10 | Dismissing //正在执行消失动画 11 | } 12 | -------------------------------------------------------------------------------- /xpopup/src/main/java/com/lxj/xpopup/interfaces/OnCancelListener.java: -------------------------------------------------------------------------------- 1 | package com.lxj.xpopup.interfaces; 2 | 3 | /** 4 | * Description: 5 | */ 6 | public interface OnCancelListener { 7 | void onCancel(); 8 | } 9 | -------------------------------------------------------------------------------- /xpopup/src/main/java/com/lxj/xpopup/interfaces/OnClickOutsideListener.java: -------------------------------------------------------------------------------- 1 | package com.lxj.xpopup.interfaces; 2 | 3 | /** 4 | * Description: 5 | */ 6 | public interface OnClickOutsideListener { 7 | void onClickOutside(); 8 | } 9 | -------------------------------------------------------------------------------- /xpopup/src/main/java/com/lxj/xpopup/interfaces/OnConfirmListener.java: -------------------------------------------------------------------------------- 1 | package com.lxj.xpopup.interfaces; 2 | 3 | /** 4 | * Description: 5 | */ 6 | public interface OnConfirmListener { 7 | void onConfirm(); 8 | } 9 | -------------------------------------------------------------------------------- /xpopup/src/main/java/com/lxj/xpopup/interfaces/OnDragChangeListener.java: -------------------------------------------------------------------------------- 1 | package com.lxj.xpopup.interfaces; 2 | 3 | public interface OnDragChangeListener { 4 | void onRelease(); 5 | void onDragChange(int dy, float scale, float fraction); 6 | } 7 | -------------------------------------------------------------------------------- /xpopup/src/main/java/com/lxj/xpopup/interfaces/OnImageViewerLongPressListener.java: -------------------------------------------------------------------------------- 1 | package com.lxj.xpopup.interfaces; 2 | 3 | import com.lxj.xpopup.core.BasePopupView; 4 | 5 | public interface OnImageViewerLongPressListener { 6 | void onLongPressed(BasePopupView popupView, int position); 7 | } 8 | -------------------------------------------------------------------------------- /xpopup/src/main/java/com/lxj/xpopup/interfaces/OnInputConfirmListener.java: -------------------------------------------------------------------------------- 1 | package com.lxj.xpopup.interfaces; 2 | 3 | /** 4 | * Description: 5 | */ 6 | public interface OnInputConfirmListener { 7 | void onConfirm(String text); 8 | } 9 | -------------------------------------------------------------------------------- /xpopup/src/main/java/com/lxj/xpopup/interfaces/OnSelectListener.java: -------------------------------------------------------------------------------- 1 | package com.lxj.xpopup.interfaces; 2 | 3 | /** 4 | * Description: 5 | */ 6 | public interface OnSelectListener { 7 | void onSelect(int position, String text); 8 | } 9 | -------------------------------------------------------------------------------- /xpopup/src/main/java/com/lxj/xpopup/interfaces/OnSrcViewUpdateListener.java: -------------------------------------------------------------------------------- 1 | package com.lxj.xpopup.interfaces; 2 | 3 | import androidx.annotation.NonNull; 4 | import com.lxj.xpopup.core.ImageViewerPopupView; 5 | 6 | /** 7 | * Description: 8 | */ 9 | public interface OnSrcViewUpdateListener { 10 | void onSrcViewUpdate(@NonNull ImageViewerPopupView popupView, int position); 11 | } 12 | -------------------------------------------------------------------------------- /xpopup/src/main/java/com/lxj/xpopup/photoview/OnOutsidePhotoTapListener.java: -------------------------------------------------------------------------------- 1 | package com.lxj.xpopup.photoview; 2 | 3 | import android.widget.ImageView; 4 | 5 | /** 6 | * Callback when the user tapped outside of the photo 7 | */ 8 | public interface OnOutsidePhotoTapListener { 9 | 10 | /** 11 | * The outside of the photo has been tapped 12 | */ 13 | void onOutsidePhotoTap(ImageView imageView); 14 | } 15 | -------------------------------------------------------------------------------- /xpopup/src/main/res/layout/_xpopup_attach_impl_list.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /xpopup/src/main/res/layout/_xpopup_attach_popup_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | -------------------------------------------------------------------------------- /xpopup/src/main/res/layout/_xpopup_bottom_popup_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | -------------------------------------------------------------------------------- /xpopup/src/main/res/layout/_xpopup_bubble_attach_popup_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | -------------------------------------------------------------------------------- /xpopup/src/main/res/layout/_xpopup_center_popup_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | -------------------------------------------------------------------------------- /xpopup/src/main/res/layout/_xpopup_divider.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | -------------------------------------------------------------------------------- /xpopup/src/main/res/layout/_xpopup_fullscreen_popup_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | -------------------------------------------------------------------------------- /xpopup/src/main/res/layout/_xpopup_partshadow_popup_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | -------------------------------------------------------------------------------- /xpopup/src/main/res/layout/_xpopup_position_popup_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | -------------------------------------------------------------------------------- /xpopup/src/main/res/values-zh/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 取消 4 | 确定 5 | 保存 6 | 已保存到相册 7 | 图片不存在 8 | 图片保存失败 9 | 10 | -------------------------------------------------------------------------------- /xpopup/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Cancel 4 | OK 5 | save 6 | Saved to album 7 | Image not exist 8 | Image save failed 9 | --------------------------------------------------------------------------------