├── .gitignore ├── app ├── build.gradle ├── google-services.json ├── lint.xml ├── misc │ ├── doc │ │ ├── GoogleAdMobAdsSdk-4.3.1-javadocs.zip │ │ └── achartengine-0.7.0-javadocs.zip │ ├── libs │ │ ├── measure.jar │ │ ├── org.apache.http.legacy.jar │ │ ├── square-otto-1.3.9-SNAPSHOT.jar │ │ └── square-otto-compiler-1.3.9-SNAPSHOT.jar │ ├── other │ │ ├── prepare_avds.sh │ │ ├── remove_avds.sh │ │ ├── take_screenshots.py │ │ ├── take_screenshots.sh │ │ ├── take_screenshots2.sh │ │ └── wait_device.py │ ├── res │ │ ├── calculatorpp │ │ │ ├── 01_main_screen_port.png │ │ │ ├── 01_main_screen_port_sm.png │ │ │ ├── 02_main_screen_land.png │ │ │ ├── 03_main_screen_port_with_expression.png │ │ │ ├── 04_plot_graph_menu.png │ │ │ ├── 04_plot_graph_menu_sm.png │ │ │ ├── 05_graph_screen.png │ │ │ ├── 05_graph_screen_sm.png │ │ │ ├── 06_constants_screen.png │ │ │ ├── 06_constants_screen_sm.png │ │ │ ├── 07_constant_create_dialog.png │ │ │ ├── 08_constants_context_menu.png │ │ │ ├── 09_functions_screen.png │ │ │ ├── 09_functions_screen_sm.png │ │ │ ├── 10_history_screen.png │ │ │ ├── 10_history_screen_sm.png │ │ │ ├── 11_history_item_context_menu.png │ │ │ ├── 12_saved_history_tab.png │ │ │ ├── 13_saved_history_item_context_menu.png │ │ │ ├── 14_about_screen.png │ │ │ ├── 14_about_screen_sm.png │ │ │ ├── 15_release_notes_tab.png │ │ │ ├── 16_help_screen.png │ │ │ ├── 16_help_screen_sm.png │ │ │ ├── 17_hints_tab.png │ │ │ ├── 18_preferences.png │ │ │ ├── 18_preferences_02.png │ │ │ ├── 18_preferences_03.png │ │ │ ├── 18_preferences_sm.png │ │ │ ├── plan.png │ │ │ └── plan.xcf │ │ ├── description │ │ │ ├── description-de.txt │ │ │ ├── description-es-ES.txt │ │ │ ├── description-fr.txt │ │ │ ├── description-it.txt │ │ │ ├── description-pl.txt │ │ │ ├── description-pt-BR.txt │ │ │ ├── description-ru.txt │ │ │ ├── description-short-ru.txt │ │ │ ├── description-short.txt │ │ │ ├── description-tr.txt │ │ │ ├── description-vi.txt │ │ │ ├── description-zh-CN.txt │ │ │ ├── description-zh-TW.txt │ │ │ └── description.txt │ │ ├── icon-green.png │ │ ├── icon-hi-res.png │ │ ├── icon-promo.png │ │ ├── icon.png │ │ ├── icon144.png │ │ ├── icon48.png │ │ ├── icon512.png │ │ ├── icon72.png │ │ ├── icon96.png │ │ ├── icon_onscreen144.png │ │ ├── icon_onscreen48.png │ │ ├── icon_onscreen512.png │ │ ├── icon_onscreen72.png │ │ ├── icon_onscreen96.png │ │ ├── logo-admob.png │ │ ├── logo-scaled.png │ │ ├── logo-small.png │ │ ├── logo.cdr │ │ ├── logo.png │ │ ├── widget.png │ │ └── work │ │ │ ├── Backup_of_logo.cdr │ │ │ ├── header.png │ │ │ ├── header_bg.png │ │ │ ├── header_sm.png │ │ │ ├── heart_original.png │ │ │ ├── icon.png │ │ │ ├── icon_favicon_light_blue.ico │ │ │ ├── icon_favicon_light_blue.png │ │ │ ├── icon_favicon_purple.ico │ │ │ ├── icon_small.png │ │ │ ├── log11o.psd │ │ │ ├── logo.cdr │ │ │ ├── logo.png │ │ │ ├── logoFULL copy.png │ │ │ ├── logoFULL.pdf │ │ │ ├── logoFULL.png │ │ │ ├── logoFULL_banner.png │ │ │ ├── logoFULL_small.png │ │ │ ├── logo_black.png │ │ │ ├── logo_blue.png │ │ │ ├── logo_light_blue.png │ │ │ ├── logo_purple.png │ │ │ ├── promo_logo.png │ │ │ ├── text_logo.png │ │ │ ├── text_logo_blue.png │ │ │ ├── text_logo_light_blue.png │ │ │ ├── text_logo_light_blue_cpp_forum.png │ │ │ └── text_logo_purple.png │ └── src │ │ ├── achartengine-0.7.0.jar │ │ └── bsh.jar ├── proguard-debug.cfg ├── proguard.cfg └── src │ ├── androidTest │ └── java │ │ ├── net │ │ └── slideshare │ │ │ └── mobile │ │ │ └── test │ │ │ └── util │ │ │ └── OrientationChangeAction.java │ │ └── org │ │ └── solovyev │ │ └── android │ │ └── calculator │ │ ├── converter │ │ └── ConverterFragmentTest.java │ │ ├── plot │ │ ├── BasePlotTest.java │ │ └── PlotEditFunctionFragmentTest.java │ │ └── wizard │ │ └── WizardActivityTest.java │ ├── main │ ├── AndroidManifest.xml │ ├── assets │ │ └── fonts │ │ │ └── Roboto-Regular.ttf │ ├── java │ │ ├── com │ │ │ └── viewpagerindicator │ │ │ │ ├── CirclePageIndicator.java │ │ │ │ └── PageIndicator.java │ │ ├── org │ │ │ └── solovyev │ │ │ │ ├── android │ │ │ │ ├── Check.java │ │ │ │ ├── calculator │ │ │ │ │ ├── ActivityLauncher.java │ │ │ │ │ ├── AdView.java │ │ │ │ │ ├── App.java │ │ │ │ │ ├── AppComponent.java │ │ │ │ │ ├── AppModule.java │ │ │ │ │ ├── BaseActivity.java │ │ │ │ │ ├── BaseDialogFragment.java │ │ │ │ │ ├── BaseFragment.java │ │ │ │ │ ├── BaseNumberBuilder.java │ │ │ │ │ ├── Broadcaster.java │ │ │ │ │ ├── Calculator.java │ │ │ │ │ ├── CalculatorActivity.java │ │ │ │ │ ├── CalculatorApplication.java │ │ │ │ │ ├── CalculatorEngineControl.java │ │ │ │ │ ├── CalculatorMessage.java │ │ │ │ │ ├── CalculatorMessages.java │ │ │ │ │ ├── CalculatorSecurity.java │ │ │ │ │ ├── Clipboard.java │ │ │ │ │ ├── Display.java │ │ │ │ │ ├── DisplayFragment.java │ │ │ │ │ ├── DisplayState.java │ │ │ │ │ ├── DisplayView.java │ │ │ │ │ ├── Editor.java │ │ │ │ │ ├── EditorFragment.java │ │ │ │ │ ├── EditorState.java │ │ │ │ │ ├── EditorView.java │ │ │ │ │ ├── Engine.java │ │ │ │ │ ├── EntitiesRegistry.java │ │ │ │ │ ├── ErrorReporter.java │ │ │ │ │ ├── FloatingCalculatorKeyboard.java │ │ │ │ │ ├── FragmentTab.java │ │ │ │ │ ├── Keyboard.java │ │ │ │ │ ├── KeyboardFragment.java │ │ │ │ │ ├── LiteNumberBuilder.java │ │ │ │ │ ├── Named.java │ │ │ │ │ ├── Notifier.java │ │ │ │ │ ├── NumberBuilder.java │ │ │ │ │ ├── ParseException.java │ │ │ │ │ ├── Preferences.java │ │ │ │ │ ├── PreparedExpression.java │ │ │ │ │ ├── RemovalConfirmationDialog.java │ │ │ │ │ ├── Runnables.java │ │ │ │ │ ├── StartupHelper.java │ │ │ │ │ ├── TaskExecutor.java │ │ │ │ │ ├── ToJsclTextProcessor.java │ │ │ │ │ ├── UiPreferences.java │ │ │ │ │ ├── Utils.java │ │ │ │ │ ├── VariablesRegistry.java │ │ │ │ │ ├── WidgetReceiver.java │ │ │ │ │ ├── about │ │ │ │ │ │ ├── AboutActivity.java │ │ │ │ │ │ ├── AboutFragment.java │ │ │ │ │ │ └── ReleaseNotesFragment.java │ │ │ │ │ ├── ads │ │ │ │ │ │ └── AdUi.java │ │ │ │ │ ├── buttons │ │ │ │ │ │ ├── CppButton.java │ │ │ │ │ │ └── CppSpecialButton.java │ │ │ │ │ ├── calculations │ │ │ │ │ │ ├── BaseCalculationEvent.java │ │ │ │ │ │ ├── BaseConversionEvent.java │ │ │ │ │ │ ├── CalculationCancelledEvent.java │ │ │ │ │ │ ├── CalculationFailedEvent.java │ │ │ │ │ │ ├── CalculationFinishedEvent.java │ │ │ │ │ │ ├── ConversionFailedEvent.java │ │ │ │ │ │ └── ConversionFinishedEvent.java │ │ │ │ │ ├── converter │ │ │ │ │ │ ├── Converter.java │ │ │ │ │ │ ├── ConverterFragment.java │ │ │ │ │ │ ├── Convertible.java │ │ │ │ │ │ ├── ConvertibleDimension.java │ │ │ │ │ │ ├── NumeralBaseConvertible.java │ │ │ │ │ │ ├── NumeralBaseDimension.java │ │ │ │ │ │ ├── UnitConvertible.java │ │ │ │ │ │ └── UnitDimension.java │ │ │ │ │ ├── entities │ │ │ │ │ │ ├── BaseEntitiesFragment.java │ │ │ │ │ │ ├── BaseEntitiesRegistry.java │ │ │ │ │ │ ├── Category.java │ │ │ │ │ │ └── Entities.java │ │ │ │ │ ├── errors │ │ │ │ │ │ ├── FixableError.java │ │ │ │ │ │ ├── FixableErrorFragment.java │ │ │ │ │ │ ├── FixableErrorType.java │ │ │ │ │ │ └── FixableErrorsActivity.java │ │ │ │ │ ├── feedback │ │ │ │ │ │ └── FeedbackReporter.java │ │ │ │ │ ├── floating │ │ │ │ │ │ ├── FloatingCalculatorActivity.java │ │ │ │ │ │ ├── FloatingCalculatorBroadcastReceiver.java │ │ │ │ │ │ ├── FloatingCalculatorService.java │ │ │ │ │ │ ├── FloatingCalculatorView.java │ │ │ │ │ │ └── FloatingViewListener.java │ │ │ │ │ ├── functions │ │ │ │ │ │ ├── BaseFunctionFragment.java │ │ │ │ │ │ ├── CppFunction.java │ │ │ │ │ │ ├── EditFunctionFragment.java │ │ │ │ │ │ ├── FunctionCategory.java │ │ │ │ │ │ ├── FunctionParamsView.java │ │ │ │ │ │ ├── FunctionsActivity.java │ │ │ │ │ │ ├── FunctionsFragment.java │ │ │ │ │ │ ├── FunctionsRegistry.java │ │ │ │ │ │ ├── OldFunction.java │ │ │ │ │ │ └── OldFunctions.java │ │ │ │ │ ├── ga │ │ │ │ │ │ └── Ga.java │ │ │ │ │ ├── history │ │ │ │ │ │ ├── BaseHistoryFragment.java │ │ │ │ │ │ ├── EditHistoryFragment.java │ │ │ │ │ │ ├── History.java │ │ │ │ │ │ ├── HistoryActivity.java │ │ │ │ │ │ ├── HistoryState.java │ │ │ │ │ │ ├── OldDisplayHistoryState.java │ │ │ │ │ │ ├── OldEditorHistoryState.java │ │ │ │ │ │ ├── OldHistory.java │ │ │ │ │ │ ├── OldHistoryState.java │ │ │ │ │ │ ├── RecentHistory.java │ │ │ │ │ │ ├── RecentHistoryFragment.java │ │ │ │ │ │ └── SavedHistoryFragment.java │ │ │ │ │ ├── jscl │ │ │ │ │ │ ├── FromJsclNumericTextProcessor.java │ │ │ │ │ │ └── JsclOperation.java │ │ │ │ │ ├── json │ │ │ │ │ │ ├── Json.java │ │ │ │ │ │ └── Jsonable.java │ │ │ │ │ ├── keyboard │ │ │ │ │ │ ├── BaseFloatingKeyboard.java │ │ │ │ │ │ ├── BaseKeyboardUi.java │ │ │ │ │ │ ├── FloatingKeyboard.java │ │ │ │ │ │ ├── FloatingKeyboardWindow.java │ │ │ │ │ │ ├── FloatingNumberKeyboard.java │ │ │ │ │ │ ├── KeyboardUi.java │ │ │ │ │ │ └── PartialKeyboardUi.java │ │ │ │ │ ├── language │ │ │ │ │ │ ├── Language.java │ │ │ │ │ │ └── Languages.java │ │ │ │ │ ├── math │ │ │ │ │ │ ├── MathType.java │ │ │ │ │ │ └── MathUtils.java │ │ │ │ │ ├── matrix │ │ │ │ │ │ ├── MatrixUi.java │ │ │ │ │ │ └── MatrixView.java │ │ │ │ │ ├── memory │ │ │ │ │ │ └── Memory.java │ │ │ │ │ ├── operators │ │ │ │ │ │ ├── OperatorCategory.java │ │ │ │ │ │ ├── OperatorsActivity.java │ │ │ │ │ │ ├── OperatorsFragment.java │ │ │ │ │ │ ├── OperatorsRegistry.java │ │ │ │ │ │ └── PostfixFunctionsRegistry.java │ │ │ │ │ ├── plot │ │ │ │ │ │ ├── ExpressionFunction.java │ │ │ │ │ │ ├── PlotActivity.java │ │ │ │ │ │ ├── PlotDimensionsFragment.java │ │ │ │ │ │ ├── PlotEditFunctionFragment.java │ │ │ │ │ │ └── PlotFunctionsFragment.java │ │ │ │ │ ├── preferences │ │ │ │ │ │ ├── NumberFormatExamplesPreference.java │ │ │ │ │ │ ├── PrecisionPreference.java │ │ │ │ │ │ ├── PreferenceEntry.java │ │ │ │ │ │ ├── PreferencesActivity.java │ │ │ │ │ │ ├── PreferencesFragment.java │ │ │ │ │ │ └── PurchaseDialogActivity.java │ │ │ │ │ ├── release │ │ │ │ │ │ ├── ChooseThemeReleaseNoteFragment.java │ │ │ │ │ │ ├── ChooseThemeReleaseNoteStep.java │ │ │ │ │ │ ├── ReleaseNote.java │ │ │ │ │ │ ├── ReleaseNoteFragment.java │ │ │ │ │ │ ├── ReleaseNoteStep.java │ │ │ │ │ │ └── ReleaseNotes.java │ │ │ │ │ ├── text │ │ │ │ │ │ ├── DummyTextProcessor.java │ │ │ │ │ │ ├── FromJsclSimplifyTextProcessor.java │ │ │ │ │ │ ├── NaturalComparator.java │ │ │ │ │ │ ├── NumberSpan.java │ │ │ │ │ │ ├── TextProcessor.java │ │ │ │ │ │ └── TextProcessorEditorResult.java │ │ │ │ │ ├── variables │ │ │ │ │ │ ├── CppVariable.java │ │ │ │ │ │ ├── EditVariableFragment.java │ │ │ │ │ │ ├── GreekFloatingKeyboard.java │ │ │ │ │ │ ├── JsclConstant.java │ │ │ │ │ │ ├── OldVar.java │ │ │ │ │ │ ├── OldVars.java │ │ │ │ │ │ ├── VariableCategory.java │ │ │ │ │ │ ├── VariablesActivity.java │ │ │ │ │ │ └── VariablesFragment.java │ │ │ │ │ ├── view │ │ │ │ │ │ ├── BaseLongClickEraser.java │ │ │ │ │ │ ├── EditTextCompat.java │ │ │ │ │ │ ├── EditTextLongClickEraser.java │ │ │ │ │ │ ├── EditorLongClickEraser.java │ │ │ │ │ │ ├── EditorTextProcessor.java │ │ │ │ │ │ ├── PagerViewFabBehavior.java │ │ │ │ │ │ ├── Tabs.java │ │ │ │ │ │ ├── TextHighlighter.java │ │ │ │ │ │ └── TouchExpander.java │ │ │ │ │ ├── widget │ │ │ │ │ │ └── CalculatorWidget.java │ │ │ │ │ └── wizard │ │ │ │ │ │ ├── CalculatorMode.java │ │ │ │ │ │ ├── CalculatorWizardStep.java │ │ │ │ │ │ ├── CalculatorWizards.java │ │ │ │ │ │ ├── ChooseModeWizardStep.java │ │ │ │ │ │ ├── ChooseThemeWizardStep.java │ │ │ │ │ │ ├── DragButtonWizardStep.java │ │ │ │ │ │ ├── FinalWizardStep.java │ │ │ │ │ │ ├── OnScreenCalculatorWizardStep.java │ │ │ │ │ │ ├── WelcomeWizardStep.java │ │ │ │ │ │ ├── WizardActivity.java │ │ │ │ │ │ ├── WizardArrayAdapter.java │ │ │ │ │ │ └── WizardFragment.java │ │ │ │ ├── checkout │ │ │ │ │ └── CppCheckout.java │ │ │ │ ├── io │ │ │ │ │ ├── BaseIoLoader.java │ │ │ │ │ ├── BaseIoSaver.java │ │ │ │ │ ├── FileLoader.java │ │ │ │ │ ├── FileSaver.java │ │ │ │ │ ├── FileSystem.java │ │ │ │ │ └── Io.java │ │ │ │ ├── prefs │ │ │ │ │ ├── AbstractPreference.java │ │ │ │ │ ├── BooleanPreference.java │ │ │ │ │ ├── CachingMapper.java │ │ │ │ │ ├── CharacterPreference.java │ │ │ │ │ ├── FloatPreference.java │ │ │ │ │ ├── IntegerPreference.java │ │ │ │ │ ├── LongPreference.java │ │ │ │ │ ├── NumberToStringPreference.java │ │ │ │ │ ├── Preference.java │ │ │ │ │ └── StringPreference.java │ │ │ │ ├── text │ │ │ │ │ └── method │ │ │ │ │ │ └── NumberInputFilter.java │ │ │ │ ├── views │ │ │ │ │ ├── Adjuster.java │ │ │ │ │ ├── AutoResizeTextView.java │ │ │ │ │ └── DiscreteSeekBar.java │ │ │ │ ├── widget │ │ │ │ │ └── menu │ │ │ │ │ │ ├── CustomPopupMenu.java │ │ │ │ │ │ ├── CustomPopupMenuHelper.java │ │ │ │ │ │ ├── ListMenuItemViewCompat.java │ │ │ │ │ │ └── MenuItemDivider.java │ │ │ │ └── wizard │ │ │ │ │ ├── BaseWizard.java │ │ │ │ │ ├── ListWizardFlow.java │ │ │ │ │ ├── Wizard.java │ │ │ │ │ ├── WizardFlow.java │ │ │ │ │ ├── WizardStep.java │ │ │ │ │ ├── WizardUi.java │ │ │ │ │ ├── Wizards.java │ │ │ │ │ └── WizardsAware.java │ │ │ │ └── common │ │ │ │ └── text │ │ │ │ ├── CharacterMapper.java │ │ │ │ ├── EnumMapper.java │ │ │ │ ├── Formatter.java │ │ │ │ ├── Mapper.java │ │ │ │ ├── NumberMapper.java │ │ │ │ ├── NumberParser.java │ │ │ │ ├── Parser.java │ │ │ │ ├── StringMapper.java │ │ │ │ └── ValueOfFormatter.java │ │ └── uz │ │ │ └── shift │ │ │ └── colorpicker │ │ │ ├── LineColorPicker.java │ │ │ ├── OnColorChangedListener.java │ │ │ └── Palette.java │ ├── res │ │ ├── color │ │ │ ├── cpp_wizard_button_selector.xml │ │ │ └── cpp_wizard_button_selector_light.xml │ │ ├── drawable-hdpi │ │ │ ├── ic_3d_rotation_white_24dp.png │ │ │ ├── ic_action_done.png │ │ │ ├── ic_action_done_light.png │ │ │ ├── ic_add_black_24dp.png │ │ │ ├── ic_add_white_24dp.png │ │ │ ├── ic_add_white_36dp.png │ │ │ ├── ic_arrow_downward_black_24dp.png │ │ │ ├── ic_arrow_downward_white_24dp.png │ │ │ ├── ic_arrow_upward_black_24dp.png │ │ │ ├── ic_arrow_upward_white_24dp.png │ │ │ ├── ic_backspace_white_24dp.png │ │ │ ├── ic_backspace_white_48dp.png │ │ │ ├── ic_close_white_24dp.png │ │ │ ├── ic_content_copy_white_48dp.png │ │ │ ├── ic_content_paste_white_48dp.png │ │ │ ├── ic_delete_white_36dp.png │ │ │ ├── ic_done_white_24dp.png │ │ │ ├── ic_history_white_48dp.png │ │ │ ├── ic_keyboard_white_24dp.png │ │ │ ├── ic_launch_white_48dp.png │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_window.png │ │ │ ├── ic_list_white_24dp.png │ │ │ ├── ic_mode_edit_white_18dp.png │ │ │ ├── ic_my_location_white_24dp.png │ │ │ ├── ic_remove_black_24dp.png │ │ │ ├── ic_remove_white_24dp.png │ │ │ ├── ic_settings_white_48dp.png │ │ │ ├── ic_space_bar_white_24dp.png │ │ │ ├── ic_straighten_white_24dp.png │ │ │ ├── ic_swap_vert_black_24dp.png │ │ │ ├── ic_swap_vert_white_24dp.png │ │ │ ├── ic_vertical_align_center_white_24dp.png │ │ │ ├── ic_vertical_align_top_white_24dp.png │ │ │ ├── ic_zoom_in_white_24dp.png │ │ │ ├── ic_zoom_out_white_24dp.png │ │ │ └── kb_logo.png │ │ ├── drawable-ldpi │ │ │ └── .emptyfolder │ │ ├── drawable-ldrtl-hdpi │ │ │ └── ic_content_copy_white_48dp.png │ │ ├── drawable-ldrtl-mdpi │ │ │ └── ic_content_copy_white_48dp.png │ │ ├── drawable-ldrtl-xhdpi │ │ │ └── ic_content_copy_white_48dp.png │ │ ├── drawable-ldrtl-xxhdpi │ │ │ └── ic_content_copy_white_48dp.png │ │ ├── drawable-ldrtl-xxxhdpi │ │ │ └── ic_content_copy_white_48dp.png │ │ ├── drawable-mdpi │ │ │ ├── ic_3d_rotation_white_24dp.png │ │ │ ├── ic_action_done.png │ │ │ ├── ic_action_done_light.png │ │ │ ├── ic_add_black_24dp.png │ │ │ ├── ic_add_white_24dp.png │ │ │ ├── ic_add_white_36dp.png │ │ │ ├── ic_arrow_downward_black_24dp.png │ │ │ ├── ic_arrow_downward_white_24dp.png │ │ │ ├── ic_arrow_upward_black_24dp.png │ │ │ ├── ic_arrow_upward_white_24dp.png │ │ │ ├── ic_backspace_white_24dp.png │ │ │ ├── ic_backspace_white_48dp.png │ │ │ ├── ic_close_white_24dp.png │ │ │ ├── ic_content_copy_white_48dp.png │ │ │ ├── ic_content_paste_white_48dp.png │ │ │ ├── ic_delete_white_36dp.png │ │ │ ├── ic_done_white_24dp.png │ │ │ ├── ic_history_white_48dp.png │ │ │ ├── ic_keyboard_white_24dp.png │ │ │ ├── ic_launch_white_48dp.png │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_window.png │ │ │ ├── ic_list_white_24dp.png │ │ │ ├── ic_mode_edit_white_18dp.png │ │ │ ├── ic_my_location_white_24dp.png │ │ │ ├── ic_remove_black_24dp.png │ │ │ ├── ic_remove_white_24dp.png │ │ │ ├── ic_settings_white_48dp.png │ │ │ ├── ic_space_bar_white_24dp.png │ │ │ ├── ic_straighten_white_24dp.png │ │ │ ├── ic_swap_vert_black_24dp.png │ │ │ ├── ic_swap_vert_white_24dp.png │ │ │ ├── ic_vertical_align_center_white_24dp.png │ │ │ ├── ic_vertical_align_top_white_24dp.png │ │ │ ├── ic_zoom_in_white_24dp.png │ │ │ ├── ic_zoom_out_white_24dp.png │ │ │ └── kb_logo.png │ │ ├── drawable-nodpi │ │ │ ├── cpp_onscreen_header_logo.png │ │ │ ├── cpp_onscreen_header_logo_light.png │ │ │ ├── divider.9.png │ │ │ ├── divider_dark.9.png │ │ │ ├── logo_wizard.png │ │ │ ├── logo_wizard_light.png │ │ │ ├── logo_wizard_window.png │ │ │ ├── logo_wizard_window_light.png │ │ │ └── widget_preview.png │ │ ├── drawable-v21 │ │ │ ├── button_no_bg.xml │ │ │ ├── material_blue_button.xml │ │ │ ├── material_blue_button_lighter.xml │ │ │ ├── material_button_black.xml │ │ │ ├── material_button_black_lighter.xml │ │ │ ├── material_button_dark.xml │ │ │ ├── material_button_dark_lighter.xml │ │ │ ├── material_button_deep_blue.xml │ │ │ ├── material_button_deep_blue_lighter.xml │ │ │ ├── material_button_light.xml │ │ │ ├── material_button_light_darker.xml │ │ │ ├── material_button_light_primary.xml │ │ │ ├── material_button_light_primary_darker.xml │ │ │ ├── metro_blue_button.xml │ │ │ ├── metro_button_dark.xml │ │ │ ├── metro_button_green.xml │ │ │ ├── metro_button_light.xml │ │ │ ├── metro_button_purple.xml │ │ │ ├── metro_widget_button.xml │ │ │ ├── metro_widget_button_dark.xml │ │ │ ├── metro_widget_button_light.xml │ │ │ ├── widget_button_no_bg.xml │ │ │ └── widget_button_no_bg_light.xml │ │ ├── drawable-xhdpi │ │ │ ├── ic_3d_rotation_white_24dp.png │ │ │ ├── ic_action_done.png │ │ │ ├── ic_action_done_light.png │ │ │ ├── ic_add_black_24dp.png │ │ │ ├── ic_add_white_24dp.png │ │ │ ├── ic_add_white_36dp.png │ │ │ ├── ic_arrow_downward_black_24dp.png │ │ │ ├── ic_arrow_downward_white_24dp.png │ │ │ ├── ic_arrow_upward_black_24dp.png │ │ │ ├── ic_arrow_upward_white_24dp.png │ │ │ ├── ic_backspace_white_24dp.png │ │ │ ├── ic_backspace_white_48dp.png │ │ │ ├── ic_close_white_24dp.png │ │ │ ├── ic_content_copy_white_48dp.png │ │ │ ├── ic_content_paste_white_48dp.png │ │ │ ├── ic_delete_white_36dp.png │ │ │ ├── ic_done_white_24dp.png │ │ │ ├── ic_history_white_48dp.png │ │ │ ├── ic_keyboard_white_24dp.png │ │ │ ├── ic_launch_white_48dp.png │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_window.png │ │ │ ├── ic_list_white_24dp.png │ │ │ ├── ic_mode_edit_white_18dp.png │ │ │ ├── ic_my_location_white_24dp.png │ │ │ ├── ic_remove_black_24dp.png │ │ │ ├── ic_remove_white_24dp.png │ │ │ ├── ic_settings_white_48dp.png │ │ │ ├── ic_space_bar_white_24dp.png │ │ │ ├── ic_straighten_white_24dp.png │ │ │ ├── ic_swap_vert_black_24dp.png │ │ │ ├── ic_swap_vert_white_24dp.png │ │ │ ├── ic_vertical_align_center_white_24dp.png │ │ │ ├── ic_vertical_align_top_white_24dp.png │ │ │ ├── ic_zoom_in_white_24dp.png │ │ │ ├── ic_zoom_out_white_24dp.png │ │ │ └── kb_logo.png │ │ ├── drawable-xxhdpi │ │ │ ├── ic_3d_rotation_white_24dp.png │ │ │ ├── ic_action_done.png │ │ │ ├── ic_action_done_light.png │ │ │ ├── ic_add_black_24dp.png │ │ │ ├── ic_add_white_24dp.png │ │ │ ├── ic_add_white_36dp.png │ │ │ ├── ic_arrow_downward_black_24dp.png │ │ │ ├── ic_arrow_downward_white_24dp.png │ │ │ ├── ic_arrow_upward_black_24dp.png │ │ │ ├── ic_arrow_upward_white_24dp.png │ │ │ ├── ic_backspace_white_24dp.png │ │ │ ├── ic_backspace_white_48dp.png │ │ │ ├── ic_close_white_24dp.png │ │ │ ├── ic_content_copy_white_48dp.png │ │ │ ├── ic_content_paste_white_48dp.png │ │ │ ├── ic_delete_white_36dp.png │ │ │ ├── ic_done_white_24dp.png │ │ │ ├── ic_history_white_48dp.png │ │ │ ├── ic_keyboard_white_24dp.png │ │ │ ├── ic_launch_white_48dp.png │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_window.png │ │ │ ├── ic_list_white_24dp.png │ │ │ ├── ic_mode_edit_white_18dp.png │ │ │ ├── ic_my_location_white_24dp.png │ │ │ ├── ic_remove_black_24dp.png │ │ │ ├── ic_remove_white_24dp.png │ │ │ ├── ic_settings_white_48dp.png │ │ │ ├── ic_space_bar_white_24dp.png │ │ │ ├── ic_straighten_white_24dp.png │ │ │ ├── ic_swap_vert_black_24dp.png │ │ │ ├── ic_swap_vert_white_24dp.png │ │ │ ├── ic_vertical_align_center_white_24dp.png │ │ │ ├── ic_vertical_align_top_white_24dp.png │ │ │ ├── ic_zoom_in_white_24dp.png │ │ │ └── ic_zoom_out_white_24dp.png │ │ ├── drawable-xxxhdpi │ │ │ ├── ic_3d_rotation_white_24dp.png │ │ │ ├── ic_add_black_24dp.png │ │ │ ├── ic_add_white_24dp.png │ │ │ ├── ic_arrow_downward_black_24dp.png │ │ │ ├── ic_arrow_downward_white_24dp.png │ │ │ ├── ic_arrow_upward_black_24dp.png │ │ │ ├── ic_arrow_upward_white_24dp.png │ │ │ ├── ic_backspace_white_24dp.png │ │ │ ├── ic_backspace_white_48dp.png │ │ │ ├── ic_close_white_24dp.png │ │ │ ├── ic_content_copy_white_48dp.png │ │ │ ├── ic_content_paste_white_48dp.png │ │ │ ├── ic_done_white_24dp.png │ │ │ ├── ic_history_white_48dp.png │ │ │ ├── ic_keyboard_white_24dp.png │ │ │ ├── ic_launch_white_48dp.png │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_window.png │ │ │ ├── ic_list_white_24dp.png │ │ │ ├── ic_mode_edit_white_18dp.png │ │ │ ├── ic_my_location_white_24dp.png │ │ │ ├── ic_remove_black_24dp.png │ │ │ ├── ic_remove_white_24dp.png │ │ │ ├── ic_settings_white_48dp.png │ │ │ ├── ic_space_bar_white_24dp.png │ │ │ ├── ic_straighten_white_24dp.png │ │ │ ├── ic_swap_vert_black_24dp.png │ │ │ ├── ic_swap_vert_white_24dp.png │ │ │ ├── ic_vertical_align_center_white_24dp.png │ │ │ ├── ic_vertical_align_top_white_24dp.png │ │ │ ├── ic_zoom_in_white_24dp.png │ │ │ └── ic_zoom_out_white_24dp.png │ │ ├── drawable │ │ │ ├── blue_button.xml │ │ │ ├── blue_button_dark.xml │ │ │ ├── blue_button_dark_shape.xml │ │ │ ├── blue_button_shape.xml │ │ │ ├── button_no_bg.xml │ │ │ ├── button_no_bg_pressed.xml │ │ │ ├── gray_button.xml │ │ │ ├── gray_button_dark.xml │ │ │ ├── gray_button_dark_shape.xml │ │ │ ├── gray_button_shape.xml │ │ │ ├── ic_chevron_left_white_24dp.xml │ │ │ ├── ic_keyboard_arrow_left_white_48dp.xml │ │ │ ├── ic_keyboard_arrow_right_white_48dp.xml │ │ │ ├── material_blue_button.xml │ │ │ ├── material_blue_button_lighter.xml │ │ │ ├── material_button_black.xml │ │ │ ├── material_button_black_lighter.xml │ │ │ ├── material_button_dark.xml │ │ │ ├── material_button_dark_lighter.xml │ │ │ ├── material_button_deep_blue.xml │ │ │ ├── material_button_deep_blue_lighter.xml │ │ │ ├── material_button_light.xml │ │ │ ├── material_button_light_darker.xml │ │ │ ├── material_button_light_primary.xml │ │ │ ├── material_button_light_primary_darker.xml │ │ │ ├── material_button_pressed.xml │ │ │ ├── metro_blue_button.xml │ │ │ ├── metro_blue_button_shape.xml │ │ │ ├── metro_button_dark.xml │ │ │ ├── metro_button_dark_shape.xml │ │ │ ├── metro_button_green.xml │ │ │ ├── metro_button_green_shape.xml │ │ │ ├── metro_button_light.xml │ │ │ ├── metro_button_light_shape.xml │ │ │ ├── metro_button_pressed.xml │ │ │ ├── metro_button_purple.xml │ │ │ ├── metro_button_purple_shape.xml │ │ │ ├── metro_widget_button.xml │ │ │ ├── metro_widget_button_dark.xml │ │ │ ├── metro_widget_button_light.xml │ │ │ ├── violet_button.xml │ │ │ ├── violet_button_dark.xml │ │ │ ├── violet_button_dark_shape.xml │ │ │ ├── violet_button_shape.xml │ │ │ ├── widget_button_no_bg.xml │ │ │ ├── widget_button_no_bg_light.xml │ │ │ └── widget_button_no_bg_pressed.xml │ │ ├── layout-land │ │ │ ├── activity_main.xml │ │ │ ├── activity_tabs_tablayout.xml │ │ │ └── cpp_app_keyboard.xml │ │ ├── layout │ │ │ ├── activity_empty.xml │ │ │ ├── activity_main.xml │ │ │ ├── activity_main_editor_with_overflow_menu.xml │ │ │ ├── activity_tabs.xml │ │ │ ├── activity_tabs_tablayout.xml │ │ │ ├── cpp_activity_wizard.xml │ │ │ ├── cpp_app_button_0.xml │ │ │ ├── cpp_app_button_1.xml │ │ │ ├── cpp_app_button_2.xml │ │ │ ├── cpp_app_button_3.xml │ │ │ ├── cpp_app_button_4.xml │ │ │ ├── cpp_app_button_5.xml │ │ │ ├── cpp_app_button_6.xml │ │ │ ├── cpp_app_button_7.xml │ │ │ ├── cpp_app_button_8.xml │ │ │ ├── cpp_app_button_9.xml │ │ │ ├── cpp_app_button_clear.xml │ │ │ ├── cpp_app_button_division.xml │ │ │ ├── cpp_app_button_dot.xml │ │ │ ├── cpp_app_button_equals_no_bg.xml │ │ │ ├── cpp_app_button_erase.xml │ │ │ ├── cpp_app_button_functions.xml │ │ │ ├── cpp_app_button_history.xml │ │ │ ├── cpp_app_button_left.xml │ │ │ ├── cpp_app_button_like.xml │ │ │ ├── cpp_app_button_memory.xml │ │ │ ├── cpp_app_button_minus.xml │ │ │ ├── cpp_app_button_multiplication.xml │ │ │ ├── cpp_app_button_percent.xml │ │ │ ├── cpp_app_button_plus.xml │ │ │ ├── cpp_app_button_right.xml │ │ │ ├── cpp_app_button_round_brackets.xml │ │ │ ├── cpp_app_button_vars.xml │ │ │ ├── cpp_app_display.xml │ │ │ ├── cpp_app_editor.xml │ │ │ ├── cpp_app_keyboard.xml │ │ │ ├── cpp_release_note_step.xml │ │ │ ├── cpp_simple_button_0.xml │ │ │ ├── cpp_simple_button_0_material.xml │ │ │ ├── cpp_simple_button_0_material_light.xml │ │ │ ├── cpp_simple_button_1.xml │ │ │ ├── cpp_simple_button_1_material.xml │ │ │ ├── cpp_simple_button_1_material_light.xml │ │ │ ├── cpp_simple_button_2.xml │ │ │ ├── cpp_simple_button_2_material.xml │ │ │ ├── cpp_simple_button_2_material_light.xml │ │ │ ├── cpp_simple_button_3.xml │ │ │ ├── cpp_simple_button_3_material.xml │ │ │ ├── cpp_simple_button_3_material_light.xml │ │ │ ├── cpp_simple_button_4.xml │ │ │ ├── cpp_simple_button_4_material.xml │ │ │ ├── cpp_simple_button_4_material_light.xml │ │ │ ├── cpp_simple_button_5.xml │ │ │ ├── cpp_simple_button_5_material.xml │ │ │ ├── cpp_simple_button_5_material_light.xml │ │ │ ├── cpp_simple_button_6.xml │ │ │ ├── cpp_simple_button_6_material.xml │ │ │ ├── cpp_simple_button_6_material_light.xml │ │ │ ├── cpp_simple_button_7.xml │ │ │ ├── cpp_simple_button_7_material.xml │ │ │ ├── cpp_simple_button_7_material_light.xml │ │ │ ├── cpp_simple_button_8.xml │ │ │ ├── cpp_simple_button_8_material.xml │ │ │ ├── cpp_simple_button_8_material_light.xml │ │ │ ├── cpp_simple_button_9.xml │ │ │ ├── cpp_simple_button_9_material.xml │ │ │ ├── cpp_simple_button_9_material_light.xml │ │ │ ├── cpp_simple_button_app.xml │ │ │ ├── cpp_simple_button_app_material.xml │ │ │ ├── cpp_simple_button_app_material_light.xml │ │ │ ├── cpp_simple_button_clear.xml │ │ │ ├── cpp_simple_button_clear_material.xml │ │ │ ├── cpp_simple_button_clear_material_light.xml │ │ │ ├── cpp_simple_button_copy.xml │ │ │ ├── cpp_simple_button_copy_material.xml │ │ │ ├── cpp_simple_button_copy_material_light.xml │ │ │ ├── cpp_simple_button_division.xml │ │ │ ├── cpp_simple_button_division_material.xml │ │ │ ├── cpp_simple_button_division_material_light.xml │ │ │ ├── cpp_simple_button_dot.xml │ │ │ ├── cpp_simple_button_dot_material.xml │ │ │ ├── cpp_simple_button_dot_material_light.xml │ │ │ ├── cpp_simple_button_equals.xml │ │ │ ├── cpp_simple_button_equals_material.xml │ │ │ ├── cpp_simple_button_equals_material_light.xml │ │ │ ├── cpp_simple_button_erase.xml │ │ │ ├── cpp_simple_button_erase_material.xml │ │ │ ├── cpp_simple_button_erase_material_light.xml │ │ │ ├── cpp_simple_button_functions.xml │ │ │ ├── cpp_simple_button_functions_material.xml │ │ │ ├── cpp_simple_button_functions_material_light.xml │ │ │ ├── cpp_simple_button_history.xml │ │ │ ├── cpp_simple_button_history_material.xml │ │ │ ├── cpp_simple_button_history_material_light.xml │ │ │ ├── cpp_simple_button_left.xml │ │ │ ├── cpp_simple_button_left_material.xml │ │ │ ├── cpp_simple_button_left_material_light.xml │ │ │ ├── cpp_simple_button_minus.xml │ │ │ ├── cpp_simple_button_minus_material.xml │ │ │ ├── cpp_simple_button_minus_material_light.xml │ │ │ ├── cpp_simple_button_multiplication.xml │ │ │ ├── cpp_simple_button_multiplication_material.xml │ │ │ ├── cpp_simple_button_multiplication_material_light.xml │ │ │ ├── cpp_simple_button_operators.xml │ │ │ ├── cpp_simple_button_operators_material.xml │ │ │ ├── cpp_simple_button_operators_material_light.xml │ │ │ ├── cpp_simple_button_paste.xml │ │ │ ├── cpp_simple_button_paste_material.xml │ │ │ ├── cpp_simple_button_paste_material_light.xml │ │ │ ├── cpp_simple_button_percent.xml │ │ │ ├── cpp_simple_button_percent_material.xml │ │ │ ├── cpp_simple_button_percent_material_light.xml │ │ │ ├── cpp_simple_button_plus.xml │ │ │ ├── cpp_simple_button_plus_material.xml │ │ │ ├── cpp_simple_button_plus_material_light.xml │ │ │ ├── cpp_simple_button_power.xml │ │ │ ├── cpp_simple_button_power_material.xml │ │ │ ├── cpp_simple_button_power_material_light.xml │ │ │ ├── cpp_simple_button_right.xml │ │ │ ├── cpp_simple_button_right_material.xml │ │ │ ├── cpp_simple_button_right_material_light.xml │ │ │ ├── cpp_simple_button_round_brackets.xml │ │ │ ├── cpp_simple_button_round_brackets_material.xml │ │ │ ├── cpp_simple_button_round_brackets_material_light.xml │ │ │ ├── cpp_simple_button_settings.xml │ │ │ ├── cpp_simple_button_settings_material.xml │ │ │ ├── cpp_simple_button_settings_material_light.xml │ │ │ ├── cpp_simple_button_vars.xml │ │ │ ├── cpp_simple_button_vars_material.xml │ │ │ ├── cpp_simple_button_vars_material_light.xml │ │ │ ├── cpp_simple_keyboard_lockscreen.xml │ │ │ ├── cpp_simple_keyboard_lockscreen_collapsed.xml │ │ │ ├── cpp_unit_converter.xml │ │ │ ├── cpp_wizard_step_choose_mode.xml │ │ │ ├── cpp_wizard_step_choose_theme.xml │ │ │ ├── cpp_wizard_step_choose_theme_preview.xml │ │ │ ├── cpp_wizard_step_drag_button.xml │ │ │ ├── cpp_wizard_step_final.xml │ │ │ ├── cpp_wizard_step_onscreen.xml │ │ │ ├── cpp_wizard_step_welcome.xml │ │ │ ├── fragment_about.xml │ │ │ ├── fragment_entities.xml │ │ │ ├── fragment_entities_item.xml │ │ │ ├── fragment_function_edit.xml │ │ │ ├── fragment_function_edit_base_controls.xml │ │ │ ├── fragment_functions_function.xml │ │ │ ├── fragment_history.xml │ │ │ ├── fragment_history_edit.xml │ │ │ ├── fragment_history_item.xml │ │ │ ├── fragment_plot.xml │ │ │ ├── fragment_plot_dimensions.xml │ │ │ ├── fragment_plot_function_edit.xml │ │ │ ├── fragment_plot_functions.xml │ │ │ ├── fragment_release_notes.xml │ │ │ ├── fragment_variable_edit.xml │ │ │ ├── fragment_wizard.xml │ │ │ ├── onscreen_display.xml │ │ │ ├── onscreen_display_light.xml │ │ │ ├── onscreen_editor.xml │ │ │ ├── onscreen_editor_light.xml │ │ │ ├── onscreen_header.xml │ │ │ ├── onscreen_header_material.xml │ │ │ ├── onscreen_header_material_light.xml │ │ │ ├── onscreen_layout.xml │ │ │ ├── onscreen_layout_material.xml │ │ │ ├── onscreen_layout_material_light.xml │ │ │ ├── preference_precision.xml │ │ │ ├── simple_keyboard.xml │ │ │ ├── simple_keyboard_material.xml │ │ │ ├── simple_keyboard_material_light.xml │ │ │ ├── widget_display.xml │ │ │ ├── widget_display_light.xml │ │ │ ├── widget_editor.xml │ │ │ ├── widget_editor_light.xml │ │ │ ├── widget_layout.xml │ │ │ ├── widget_layout_lockscreen.xml │ │ │ ├── widget_layout_lockscreen_collapsed.xml │ │ │ ├── widget_layout_material.xml │ │ │ └── widget_layout_material_light.xml │ │ ├── menu │ │ │ └── main.xml │ │ ├── values-ar │ │ │ ├── strings.xml │ │ │ ├── strings_about.xml │ │ │ ├── strings_converter.xml │ │ │ ├── strings_functions.xml │ │ │ ├── strings_imported_aosp.xml │ │ │ ├── strings_imported_other.xml │ │ │ ├── strings_imported_other1.xml │ │ │ ├── strings_microsoft.xml │ │ │ ├── strings_operators.xml │ │ │ ├── strings_preferences.xml │ │ │ ├── strings_vars.xml │ │ │ └── strings_wizard.xml │ │ ├── values-cs │ │ │ ├── strings.xml │ │ │ ├── strings_about.xml │ │ │ ├── strings_converter.xml │ │ │ ├── strings_functions.xml │ │ │ ├── strings_imported_aosp.xml │ │ │ ├── strings_imported_other.xml │ │ │ ├── strings_imported_other1.xml │ │ │ ├── strings_microsoft.xml │ │ │ ├── strings_operators.xml │ │ │ ├── strings_preferences.xml │ │ │ ├── strings_vars.xml │ │ │ └── strings_wizard.xml │ │ ├── values-de │ │ │ ├── strings.xml │ │ │ ├── strings_about.xml │ │ │ ├── strings_converter.xml │ │ │ ├── strings_functions.xml │ │ │ ├── strings_imported_aosp.xml │ │ │ ├── strings_imported_other.xml │ │ │ ├── strings_imported_other1.xml │ │ │ ├── strings_microsoft.xml │ │ │ ├── strings_operators.xml │ │ │ ├── strings_preferences.xml │ │ │ ├── strings_vars.xml │ │ │ └── strings_wizard.xml │ │ ├── values-es │ │ │ ├── strings.xml │ │ │ ├── strings_about.xml │ │ │ ├── strings_converter.xml │ │ │ ├── strings_functions.xml │ │ │ ├── strings_imported_aosp.xml │ │ │ ├── strings_imported_other.xml │ │ │ ├── strings_imported_other1.xml │ │ │ ├── strings_microsoft.xml │ │ │ ├── strings_operators.xml │ │ │ ├── strings_preferences.xml │ │ │ ├── strings_vars.xml │ │ │ └── strings_wizard.xml │ │ ├── values-fi │ │ │ ├── strings.xml │ │ │ ├── strings_about.xml │ │ │ ├── strings_converter.xml │ │ │ ├── strings_functions.xml │ │ │ ├── strings_imported_aosp.xml │ │ │ ├── strings_imported_other.xml │ │ │ ├── strings_imported_other1.xml │ │ │ ├── strings_microsoft.xml │ │ │ ├── strings_operators.xml │ │ │ ├── strings_preferences.xml │ │ │ ├── strings_vars.xml │ │ │ └── strings_wizard.xml │ │ ├── values-fr │ │ │ ├── strings.xml │ │ │ ├── strings_about.xml │ │ │ ├── strings_converter.xml │ │ │ ├── strings_functions.xml │ │ │ ├── strings_imported_aosp.xml │ │ │ ├── strings_imported_other.xml │ │ │ ├── strings_imported_other1.xml │ │ │ ├── strings_microsoft.xml │ │ │ ├── strings_operators.xml │ │ │ ├── strings_preferences.xml │ │ │ ├── strings_vars.xml │ │ │ └── strings_wizard.xml │ │ ├── values-it │ │ │ ├── strings.xml │ │ │ ├── strings_about.xml │ │ │ ├── strings_converter.xml │ │ │ ├── strings_functions.xml │ │ │ ├── strings_imported_aosp.xml │ │ │ ├── strings_imported_other.xml │ │ │ ├── strings_imported_other1.xml │ │ │ ├── strings_microsoft.xml │ │ │ ├── strings_operators.xml │ │ │ ├── strings_preferences.xml │ │ │ ├── strings_vars.xml │ │ │ └── strings_wizard.xml │ │ ├── values-ja │ │ │ ├── strings.xml │ │ │ ├── strings_about.xml │ │ │ ├── strings_converter.xml │ │ │ ├── strings_functions.xml │ │ │ ├── strings_imported_aosp.xml │ │ │ ├── strings_imported_other.xml │ │ │ ├── strings_imported_other1.xml │ │ │ ├── strings_microsoft.xml │ │ │ ├── strings_operators.xml │ │ │ ├── strings_preferences.xml │ │ │ ├── strings_vars.xml │ │ │ └── strings_wizard.xml │ │ ├── values-large-hdpi │ │ │ └── dimens.xml │ │ ├── values-large-mdpi │ │ │ └── dimens.xml │ │ ├── values-large-tvdpi │ │ │ └── dimens.xml │ │ ├── values-large-xhdpi │ │ │ └── dimens.xml │ │ ├── values-large │ │ │ └── dimens.xml │ │ ├── values-nl │ │ │ ├── strings.xml │ │ │ ├── strings_about.xml │ │ │ ├── strings_converter.xml │ │ │ ├── strings_functions.xml │ │ │ ├── strings_imported_aosp.xml │ │ │ ├── strings_imported_other.xml │ │ │ ├── strings_imported_other1.xml │ │ │ ├── strings_microsoft.xml │ │ │ ├── strings_operators.xml │ │ │ ├── strings_preferences.xml │ │ │ ├── strings_vars.xml │ │ │ └── strings_wizard.xml │ │ ├── values-normal-hdpi │ │ │ └── dimens.xml │ │ ├── values-normal-mdpi │ │ │ └── dimens.xml │ │ ├── values-normal-tvdpi │ │ │ └── dimens.xml │ │ ├── values-normal-xhdpi │ │ │ └── dimens.xml │ │ ├── values-normal │ │ │ └── dimens.xml │ │ ├── values-pl │ │ │ ├── strings.xml │ │ │ ├── strings_about.xml │ │ │ ├── strings_converter.xml │ │ │ ├── strings_functions.xml │ │ │ ├── strings_imported_aosp.xml │ │ │ ├── strings_imported_other.xml │ │ │ ├── strings_imported_other1.xml │ │ │ ├── strings_microsoft.xml │ │ │ ├── strings_operators.xml │ │ │ ├── strings_preferences.xml │ │ │ ├── strings_vars.xml │ │ │ └── strings_wizard.xml │ │ ├── values-pt-rBR │ │ │ ├── strings.xml │ │ │ ├── strings_about.xml │ │ │ ├── strings_converter.xml │ │ │ ├── strings_functions.xml │ │ │ ├── strings_imported_aosp.xml │ │ │ ├── strings_imported_other.xml │ │ │ ├── strings_imported_other1.xml │ │ │ ├── strings_microsoft.xml │ │ │ ├── strings_operators.xml │ │ │ ├── strings_preferences.xml │ │ │ ├── strings_vars.xml │ │ │ └── strings_wizard.xml │ │ ├── values-pt-rPT │ │ │ ├── strings.xml │ │ │ ├── strings_about.xml │ │ │ ├── strings_converter.xml │ │ │ ├── strings_functions.xml │ │ │ ├── strings_imported_aosp.xml │ │ │ ├── strings_imported_other.xml │ │ │ ├── strings_imported_other1.xml │ │ │ ├── strings_microsoft.xml │ │ │ ├── strings_operators.xml │ │ │ ├── strings_preferences.xml │ │ │ ├── strings_vars.xml │ │ │ └── strings_wizard.xml │ │ ├── values-ru │ │ │ ├── strings.xml │ │ │ ├── strings_about.xml │ │ │ ├── strings_converter.xml │ │ │ ├── strings_converter_units.xml │ │ │ ├── strings_functions.xml │ │ │ ├── strings_imported_aosp.xml │ │ │ ├── strings_imported_other.xml │ │ │ ├── strings_imported_other1.xml │ │ │ ├── strings_microsoft.xml │ │ │ ├── strings_operators.xml │ │ │ ├── strings_preferences.xml │ │ │ ├── strings_release_notes.xml │ │ │ ├── strings_vars.xml │ │ │ └── strings_wizard.xml │ │ ├── values-small-hdpi │ │ │ └── dimens.xml │ │ ├── values-small-xhdpi │ │ │ └── dimens.xml │ │ ├── values-small │ │ │ └── dimens.xml │ │ ├── values-sw600dp │ │ │ ├── bools.xml │ │ │ └── dimens.xml │ │ ├── values-tr │ │ │ ├── strings.xml │ │ │ ├── strings_about.xml │ │ │ ├── strings_converter.xml │ │ │ ├── strings_functions.xml │ │ │ ├── strings_imported_aosp.xml │ │ │ ├── strings_imported_other.xml │ │ │ ├── strings_imported_other1.xml │ │ │ ├── strings_microsoft.xml │ │ │ ├── strings_operators.xml │ │ │ ├── strings_preferences.xml │ │ │ ├── strings_vars.xml │ │ │ └── strings_wizard.xml │ │ ├── values-uk │ │ │ ├── strings.xml │ │ │ ├── strings_about.xml │ │ │ ├── strings_converter.xml │ │ │ ├── strings_functions.xml │ │ │ ├── strings_imported_aosp.xml │ │ │ ├── strings_imported_other.xml │ │ │ ├── strings_imported_other1.xml │ │ │ ├── strings_microsoft.xml │ │ │ ├── strings_operators.xml │ │ │ ├── strings_preferences.xml │ │ │ ├── strings_vars.xml │ │ │ └── strings_wizard.xml │ │ ├── values-v11 │ │ │ └── styles.xml │ │ ├── values-v14 │ │ │ ├── dimens.xml │ │ │ └── styles.xml │ │ ├── values-v21 │ │ │ ├── theme_material.xml │ │ │ └── theme_material_light.xml │ │ ├── values-vi │ │ │ ├── strings.xml │ │ │ ├── strings_about.xml │ │ │ ├── strings_converter.xml │ │ │ ├── strings_functions.xml │ │ │ ├── strings_imported_aosp.xml │ │ │ ├── strings_imported_other.xml │ │ │ ├── strings_imported_other1.xml │ │ │ ├── strings_microsoft.xml │ │ │ ├── strings_operators.xml │ │ │ ├── strings_preferences.xml │ │ │ ├── strings_vars.xml │ │ │ └── strings_wizard.xml │ │ ├── values-w820dp-v13 │ │ │ └── values.xml │ │ ├── values-xlarge-hdpi │ │ │ └── dimens.xml │ │ ├── values-xlarge-mdpi │ │ │ └── dimens.xml │ │ ├── values-xlarge │ │ │ └── dimens.xml │ │ ├── values-zh-rCN │ │ │ ├── strings.xml │ │ │ ├── strings_about.xml │ │ │ ├── strings_converter.xml │ │ │ ├── strings_functions.xml │ │ │ ├── strings_imported_aosp.xml │ │ │ ├── strings_imported_other.xml │ │ │ ├── strings_imported_other1.xml │ │ │ ├── strings_microsoft.xml │ │ │ ├── strings_operators.xml │ │ │ ├── strings_preferences.xml │ │ │ ├── strings_vars.xml │ │ │ └── strings_wizard.xml │ │ ├── values-zh-rTW │ │ │ ├── strings.xml │ │ │ ├── strings_about.xml │ │ │ ├── strings_converter.xml │ │ │ ├── strings_functions.xml │ │ │ ├── strings_imported_aosp.xml │ │ │ ├── strings_imported_other.xml │ │ │ ├── strings_imported_other1.xml │ │ │ ├── strings_microsoft.xml │ │ │ ├── strings_operators.xml │ │ │ ├── strings_preferences.xml │ │ │ ├── strings_vars.xml │ │ │ └── strings_wizard.xml │ │ ├── values │ │ │ ├── admob.xml │ │ │ ├── arrays.xml │ │ │ ├── attributes.xml │ │ │ ├── attrs_dsb.xml │ │ │ ├── attrs_lcp.xml │ │ │ ├── bools.xml │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── ids.xml │ │ │ ├── strings.xml │ │ │ ├── strings_about.xml │ │ │ ├── strings_converter.xml │ │ │ ├── strings_converter_units.xml │ │ │ ├── strings_functions.xml │ │ │ ├── strings_glyphs.xml │ │ │ ├── strings_imported_aosp.xml │ │ │ ├── strings_imported_other.xml │ │ │ ├── strings_imported_other1.xml │ │ │ ├── strings_microsoft.xml │ │ │ ├── strings_non_translatable.xml │ │ │ ├── strings_operators.xml │ │ │ ├── strings_preferences.xml │ │ │ ├── strings_release_notes.xml │ │ │ ├── strings_vars.xml │ │ │ ├── strings_wizard.xml │ │ │ ├── styles.xml │ │ │ ├── theme.xml │ │ │ ├── theme_material.xml │ │ │ ├── theme_material_black.xml │ │ │ ├── theme_material_light.xml │ │ │ ├── theme_metro_blue.xml │ │ │ ├── theme_metro_green.xml │ │ │ ├── theme_metro_purple.xml │ │ │ ├── theme_old_blue.xml │ │ │ ├── theme_old_gray.xml │ │ │ ├── theme_old_violet.xml │ │ │ ├── vpi__attrs.xml │ │ │ └── vpi__defaults.xml │ │ └── xml │ │ │ ├── calculator_widget.xml │ │ │ ├── preferences.xml │ │ │ ├── preferences_appearance.xml │ │ │ ├── preferences_number_format.xml │ │ │ ├── preferences_onscreen.xml │ │ │ ├── preferences_other.xml │ │ │ └── preferences_widget.xml │ └── resources │ │ └── org │ │ └── solovyev │ │ └── android │ │ └── calculator │ │ ├── messages.properties │ │ ├── messages_ar.properties │ │ ├── messages_cs.properties │ │ ├── messages_de.properties │ │ ├── messages_el.properties │ │ ├── messages_es.properties │ │ ├── messages_es_ES.properties │ │ ├── messages_fi.properties │ │ ├── messages_fr.properties │ │ ├── messages_it.properties │ │ ├── messages_ja.properties │ │ ├── messages_nl.properties │ │ ├── messages_pl.properties │ │ ├── messages_pt_BR.properties │ │ ├── messages_pt_PT.properties │ │ ├── messages_ru.properties │ │ ├── messages_tr.properties │ │ ├── messages_uk.properties │ │ ├── messages_vi.properties │ │ ├── messages_zh.properties │ │ ├── messages_zh_CN.properties │ │ └── messages_zh_TW.properties │ └── test │ ├── java │ └── org │ │ └── solovyev │ │ └── android │ │ ├── calculator │ │ ├── AndroidEditorViewTest.java │ │ ├── BaseCalculatorTest.java │ │ ├── CalculatorMessagesTest.java │ │ ├── CalculatorTest.java │ │ ├── EditorTest.java │ │ ├── FromJsclSimplifyTextProcessorTest.java │ │ ├── Tests.java │ │ ├── TextHighlighterTest.java │ │ ├── ToJsclTextProcessorTest.java │ │ ├── WidgetReceiverTest.java │ │ ├── buttons │ │ │ └── CppSpecialButtonTest.java │ │ ├── converter │ │ │ └── ConverterTest.java │ │ ├── history │ │ │ ├── HistoryTest.java │ │ │ └── HistoryUtilsTest.java │ │ ├── jscl │ │ │ └── FromJsclNumericTextProcessorTest.java │ │ ├── math │ │ │ └── MathTypeTest.java │ │ ├── model │ │ │ ├── AndroidEngineTest.java │ │ │ ├── ComparisonTest.java │ │ │ ├── EvaluateTest.java │ │ │ ├── NumeralBaseTest.java │ │ │ └── OldFunctionsTest.java │ │ └── wizard │ │ │ ├── CalculatorWizardActivityTest.java │ │ │ ├── CalculatorWizardTest.java │ │ │ └── OnScreenCalculatorWizardStepTest.java │ │ └── text │ │ └── method │ │ └── NumberInputFilterTest.java │ └── resources │ └── org │ └── solovyev │ └── android │ └── calculator │ ├── history │ └── recent-history.json │ └── model │ └── nb_table.csv ├── build.gradle ├── crowdin.sh ├── dragbutton ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── org │ │ └── solovyev │ │ └── android │ │ └── views │ │ └── dragbutton │ │ ├── DirectionDragButton.java │ │ ├── DirectionDragImageButton.java │ │ ├── DirectionDragListener.java │ │ ├── DirectionDragView.java │ │ ├── DirectionText.java │ │ ├── DirectionTextView.java │ │ ├── Drag.java │ │ ├── DragButton.java │ │ ├── DragDirection.java │ │ ├── DragEvent.java │ │ ├── DragGestureDetector.java │ │ ├── DragImageButton.java │ │ ├── DragListener.java │ │ ├── DragView.java │ │ └── PaintCache.java │ └── res │ └── values │ ├── attrs.xml │ ├── colors.xml │ └── dimens.xml ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── jscl ├── build.gradle └── src │ ├── main │ ├── java │ │ ├── jscl │ │ │ ├── AngleUnit.java │ │ │ ├── CustomFunctionCalculationException.java │ │ │ ├── FixedCapacityListMessageRegistry.java │ │ │ ├── JsclArithmeticException.java │ │ │ ├── JsclMathEngine.java │ │ │ ├── MathContext.java │ │ │ ├── MathEngine.java │ │ │ ├── NotSupportedException.java │ │ │ ├── NumeralBase.java │ │ │ ├── math │ │ │ │ ├── AntiDerivative.java │ │ │ │ ├── Arithmetic.java │ │ │ │ ├── Clifford.java │ │ │ │ ├── Debug.java │ │ │ │ ├── DoubleVariable.java │ │ │ │ ├── Expression.java │ │ │ │ ├── ExpressionVariable.java │ │ │ │ ├── Factorization.java │ │ │ │ ├── Field.java │ │ │ │ ├── Generic.java │ │ │ │ ├── GenericVariable.java │ │ │ │ ├── IntegerVariable.java │ │ │ │ ├── JsclBoolean.java │ │ │ │ ├── JsclInteger.java │ │ │ │ ├── JsclVector.java │ │ │ │ ├── Literal.java │ │ │ │ ├── Matrix.java │ │ │ │ ├── MatrixVariable.java │ │ │ │ ├── ModularInteger.java │ │ │ │ ├── NotDivisibleException.java │ │ │ │ ├── NotDoubleException.java │ │ │ │ ├── NotExpressionException.java │ │ │ │ ├── NotIntegerException.java │ │ │ │ ├── NotIntegrableException.java │ │ │ │ ├── NotPowerException.java │ │ │ │ ├── NotProductException.java │ │ │ │ ├── NotVariableException.java │ │ │ │ ├── NumericWrapper.java │ │ │ │ ├── Power.java │ │ │ │ ├── Rational.java │ │ │ │ ├── Simplification.java │ │ │ │ ├── TechnicalVariable.java │ │ │ │ ├── TimeDependent.java │ │ │ │ ├── Variable.java │ │ │ │ ├── VectorVariable.java │ │ │ │ ├── function │ │ │ │ │ ├── Abs.java │ │ │ │ │ ├── AbstractDms.java │ │ │ │ │ ├── Algebraic.java │ │ │ │ │ ├── ArcTrigonometric.java │ │ │ │ │ ├── Comparison.java │ │ │ │ │ ├── Conjugate.java │ │ │ │ │ ├── Constant.java │ │ │ │ │ ├── Constants.java │ │ │ │ │ ├── ConstantsRegistry.java │ │ │ │ │ ├── Cubic.java │ │ │ │ │ ├── CustomFunction.java │ │ │ │ │ ├── Deg.java │ │ │ │ │ ├── Dms.java │ │ │ │ │ ├── Exp.java │ │ │ │ │ ├── ExtendedConstant.java │ │ │ │ │ ├── Fraction.java │ │ │ │ │ ├── Function.java │ │ │ │ │ ├── FunctionsRegistry.java │ │ │ │ │ ├── IConstant.java │ │ │ │ │ ├── IFunction.java │ │ │ │ │ ├── ImplicitFunction.java │ │ │ │ │ ├── Inverse.java │ │ │ │ │ ├── Lg.java │ │ │ │ │ ├── Ln.java │ │ │ │ │ ├── NotRootException.java │ │ │ │ │ ├── PiConstant.java │ │ │ │ │ ├── PostfixFunctionsRegistry.java │ │ │ │ │ ├── Pow.java │ │ │ │ │ ├── Rad.java │ │ │ │ │ ├── Root.java │ │ │ │ │ ├── Sgn.java │ │ │ │ │ ├── Sqrt.java │ │ │ │ │ ├── Trigonometric.java │ │ │ │ │ ├── hyperbolic │ │ │ │ │ │ ├── Acosh.java │ │ │ │ │ │ ├── Acoth.java │ │ │ │ │ │ ├── Asinh.java │ │ │ │ │ │ ├── Atanh.java │ │ │ │ │ │ ├── Cosh.java │ │ │ │ │ │ ├── Coth.java │ │ │ │ │ │ ├── Sinh.java │ │ │ │ │ │ └── Tanh.java │ │ │ │ │ └── trigonometric │ │ │ │ │ │ ├── Acos.java │ │ │ │ │ │ ├── Acot.java │ │ │ │ │ │ ├── Asin.java │ │ │ │ │ │ ├── Atan.java │ │ │ │ │ │ ├── Cos.java │ │ │ │ │ │ ├── Cot.java │ │ │ │ │ │ ├── Sin.java │ │ │ │ │ │ └── Tan.java │ │ │ │ ├── numeric │ │ │ │ │ ├── Complex.java │ │ │ │ │ ├── INumeric.java │ │ │ │ │ ├── Matrix.java │ │ │ │ │ ├── Numeric.java │ │ │ │ │ ├── Real.java │ │ │ │ │ └── Vector.java │ │ │ │ ├── operator │ │ │ │ │ ├── AbstractFunction.java │ │ │ │ │ ├── Coefficient.java │ │ │ │ │ ├── Degree.java │ │ │ │ │ ├── Derivative.java │ │ │ │ │ ├── Division.java │ │ │ │ │ ├── DoubleFactorial.java │ │ │ │ │ ├── Factorial.java │ │ │ │ │ ├── Gcd.java │ │ │ │ │ ├── Groebner.java │ │ │ │ │ ├── IndefiniteIntegral.java │ │ │ │ │ ├── Integral.java │ │ │ │ │ ├── Limit.java │ │ │ │ │ ├── Modulo.java │ │ │ │ │ ├── Operator.java │ │ │ │ │ ├── Percent.java │ │ │ │ │ ├── PostfixFunction.java │ │ │ │ │ ├── Product.java │ │ │ │ │ ├── Rand.java │ │ │ │ │ ├── Solve.java │ │ │ │ │ ├── Substitute.java │ │ │ │ │ ├── Sum.java │ │ │ │ │ ├── TripleFactorial.java │ │ │ │ │ ├── VectorOperator.java │ │ │ │ │ ├── matrix │ │ │ │ │ │ ├── Determinant.java │ │ │ │ │ │ ├── OperatorsRegistry.java │ │ │ │ │ │ ├── Trace.java │ │ │ │ │ │ └── Transpose.java │ │ │ │ │ ├── number │ │ │ │ │ │ ├── EulerPhi.java │ │ │ │ │ │ ├── ModInverse.java │ │ │ │ │ │ ├── ModPow.java │ │ │ │ │ │ └── PrimitiveRoots.java │ │ │ │ │ ├── product │ │ │ │ │ │ ├── ComplexProduct.java │ │ │ │ │ │ ├── GeometricProduct.java │ │ │ │ │ │ ├── MatrixProduct.java │ │ │ │ │ │ ├── QuaternionProduct.java │ │ │ │ │ │ ├── TensorProduct.java │ │ │ │ │ │ └── VectorProduct.java │ │ │ │ │ ├── stat │ │ │ │ │ │ ├── AbstractStatFunction.java │ │ │ │ │ │ ├── Max.java │ │ │ │ │ │ ├── Mean.java │ │ │ │ │ │ ├── MeanSquareDeviation.java │ │ │ │ │ │ ├── Min.java │ │ │ │ │ │ └── StandardDeviation.java │ │ │ │ │ └── vector │ │ │ │ │ │ ├── Curl.java │ │ │ │ │ │ ├── Dalembertian.java │ │ │ │ │ │ ├── Del.java │ │ │ │ │ │ ├── Divergence.java │ │ │ │ │ │ ├── Grad.java │ │ │ │ │ │ ├── Jacobian.java │ │ │ │ │ │ └── Laplacian.java │ │ │ │ └── polynomial │ │ │ │ │ ├── ArrayPolynomial.java │ │ │ │ │ ├── ArrayPolynomialBoolean.java │ │ │ │ │ ├── ArrayPolynomialGeneric.java │ │ │ │ │ ├── ArrayPolynomialInteger.java │ │ │ │ │ ├── ArrayPolynomialModular.java │ │ │ │ │ ├── ArrayPolynomialRational.java │ │ │ │ │ ├── Basis.java │ │ │ │ │ ├── BooleanMonomial.java │ │ │ │ │ ├── DefinedBooleanMonomial.java │ │ │ │ │ ├── DegreeOrdering.java │ │ │ │ │ ├── GeoBucket.java │ │ │ │ │ ├── ListPolynomial.java │ │ │ │ │ ├── Monomial.java │ │ │ │ │ ├── NestedPolynomial.java │ │ │ │ │ ├── Ordering.java │ │ │ │ │ ├── Polynomial.java │ │ │ │ │ ├── SmallMonomial.java │ │ │ │ │ ├── Term.java │ │ │ │ │ ├── TreePolynomial.java │ │ │ │ │ ├── UnivariatePolynomial.java │ │ │ │ │ └── groebner │ │ │ │ │ ├── Block.java │ │ │ │ │ ├── F4.java │ │ │ │ │ ├── F4Reduction.java │ │ │ │ │ ├── Instrumented.java │ │ │ │ │ ├── Natural.java │ │ │ │ │ ├── Pair.java │ │ │ │ │ ├── Projection.java │ │ │ │ │ ├── ReducedRowEchelonForm.java │ │ │ │ │ ├── Standard.java │ │ │ │ │ └── Sugar.java │ │ │ ├── mathml │ │ │ │ └── MathML.java │ │ │ ├── text │ │ │ │ ├── AbstractConverter.java │ │ │ │ ├── BracketedExpression.java │ │ │ │ ├── CommaAndExpression.java │ │ │ │ ├── CommaAndVector.java │ │ │ │ ├── CompoundIdentifier.java │ │ │ │ ├── ConstantParser.java │ │ │ │ ├── Digits.java │ │ │ │ ├── DivideFactor.java │ │ │ │ ├── DoubleParser.java │ │ │ │ ├── DoubleVariableParser.java │ │ │ │ ├── ExceptionsPool.java │ │ │ │ ├── ExponentParser.java │ │ │ │ ├── ExpressionParser.java │ │ │ │ ├── Factor.java │ │ │ │ ├── FunctionParser.java │ │ │ │ ├── Identifier.java │ │ │ │ ├── ImplicitFunctionParser.java │ │ │ │ ├── IntegerParser.java │ │ │ │ ├── JsclIntegerParser.java │ │ │ │ ├── MatrixParser.java │ │ │ │ ├── MatrixVariableParser.java │ │ │ │ ├── MinusParser.java │ │ │ │ ├── MultiTryParser.java │ │ │ │ ├── MultiplyFactor.java │ │ │ │ ├── MutableInt.java │ │ │ │ ├── NumeralBaseParser.java │ │ │ │ ├── OperatorParser.java │ │ │ │ ├── ParameterListParser.java │ │ │ │ ├── ParseException.java │ │ │ │ ├── ParseInterruptedException.java │ │ │ │ ├── Parser.java │ │ │ │ ├── ParserUtils.java │ │ │ │ ├── PlusOrMinusTerm.java │ │ │ │ ├── PostfixFunctionParser.java │ │ │ │ ├── PostfixFunctionsParser.java │ │ │ │ ├── PowerExponentParser.java │ │ │ │ ├── PowerParser.java │ │ │ │ ├── PrimaryExpressionParser.java │ │ │ │ ├── PrimeCharacters.java │ │ │ │ ├── RootParser.java │ │ │ │ ├── Subscript.java │ │ │ │ ├── TermParser.java │ │ │ │ ├── UnsignedExponent.java │ │ │ │ ├── UnsignedFactor.java │ │ │ │ ├── UsualFunctionParser.java │ │ │ │ ├── VariableConverter.java │ │ │ │ ├── VariableParser.java │ │ │ │ ├── VectorParser.java │ │ │ │ ├── VectorVariableParser.java │ │ │ │ └── msg │ │ │ │ │ ├── JsclMessage.java │ │ │ │ │ └── Messages.java │ │ │ └── util │ │ │ │ ├── AbstractExpressionGenerator.java │ │ │ │ ├── ArrayComparator.java │ │ │ │ ├── ArrayUtils.java │ │ │ │ ├── ExpressionGenerator.java │ │ │ │ └── ExpressionGeneratorWithInput.java │ │ ├── midpcalc │ │ │ └── Real.java │ │ └── org │ │ │ └── solovyev │ │ │ └── common │ │ │ ├── NumberFormatter.java │ │ │ ├── SynchronizedObject.java │ │ │ ├── collections │ │ │ └── SortedList.java │ │ │ ├── equals │ │ │ └── Equalizer.java │ │ │ ├── math │ │ │ ├── AbstractMathEntity.java │ │ │ ├── AbstractMathRegistry.java │ │ │ ├── MathEntity.java │ │ │ └── MathRegistry.java │ │ │ ├── msg │ │ │ ├── AbstractMessage.java │ │ │ ├── ListMessageRegistry.java │ │ │ ├── Message.java │ │ │ ├── MessageLevel.java │ │ │ ├── MessageRegistry.java │ │ │ ├── MessageType.java │ │ │ ├── Messages.java │ │ │ ├── SynchronizedMessageRegistry.java │ │ │ └── Utf8Control.java │ │ │ └── text │ │ │ └── Strings.java │ └── resources │ │ └── jscl │ │ └── text │ │ └── msg │ │ ├── messages.properties │ │ ├── messages_ar.properties │ │ ├── messages_cs.properties │ │ ├── messages_de.properties │ │ ├── messages_es_ES.properties │ │ ├── messages_fi.properties │ │ ├── messages_fr.properties │ │ ├── messages_it.properties │ │ ├── messages_ja.properties │ │ ├── messages_nl.properties │ │ ├── messages_pl.properties │ │ ├── messages_pt_BR.properties │ │ ├── messages_pt_PT.properties │ │ ├── messages_ru.properties │ │ ├── messages_uk.properties │ │ ├── messages_vi.properties │ │ ├── messages_zh_CN.properties │ │ └── messages_zh_TW.properties │ └── test │ ├── java │ ├── jscl │ │ ├── JsclMathEngineTest.java │ │ ├── NumeralBaseTest.java │ │ ├── math │ │ │ ├── ExpressionTest.java │ │ │ ├── JsclVectorTest.java │ │ │ ├── LiteralTest.java │ │ │ ├── NumeralBaseConversionTest.java │ │ │ ├── RandomExpressionTest.java │ │ │ ├── TrigonometricTest.java │ │ │ ├── function │ │ │ │ ├── CustomFunctionTest.java │ │ │ │ ├── DegTest.java │ │ │ │ ├── DmsTest.java │ │ │ │ ├── FunctionTest.java │ │ │ │ ├── FunctionsRegistryTest.java │ │ │ │ ├── LgTest.java │ │ │ │ ├── LnTest.java │ │ │ │ ├── PowTest.java │ │ │ │ ├── RadTest.java │ │ │ │ ├── SgnTest.java │ │ │ │ ├── SqrtTest.java │ │ │ │ └── trigonometric │ │ │ │ │ ├── CosTest.java │ │ │ │ │ ├── SinTest.java │ │ │ │ │ └── TanTest.java │ │ │ ├── numeric │ │ │ │ ├── ComplexTest.java │ │ │ │ └── MatrixTest.java │ │ │ └── operator │ │ │ │ ├── DoubleFactorialTest.java │ │ │ │ ├── GcdTest.java │ │ │ │ ├── IndefiniteIntegralTest.java │ │ │ │ ├── MeanTest.java │ │ │ │ ├── ModuloTest.java │ │ │ │ ├── PercentTest.java │ │ │ │ ├── RandTest.java │ │ │ │ ├── SumTest.java │ │ │ │ └── stat │ │ │ │ ├── MinTest.java │ │ │ │ └── StandardDeviationTest.java │ │ └── text │ │ │ ├── ParserUtilsTest.java │ │ │ ├── PowerParserTest.java │ │ │ └── msg │ │ │ └── JsclMessageTest.java │ └── org │ │ └── solovyev │ │ └── common │ │ └── NumberFormatterTest.java │ └── resources │ └── jscl │ └── math │ ├── nb_table.csv │ └── trig_table.csv ├── settings.gradle └── translations ├── .gitignore ├── build.gradle └── src └── main └── java └── org └── solovyev └── android └── translations ├── Android.java ├── Microsoft.java ├── ResourceString.java ├── Resources.java ├── Utils.java └── Wiki.java /.gitignore: -------------------------------------------------------------------------------- 1 | gen-external-apklibs 2 | target 3 | atlassian-ide-plugin.xml 4 | .idea 5 | *.iml 6 | build 7 | local.properties 8 | captures 9 | calculatorpp.zip 10 | .gradle -------------------------------------------------------------------------------- /app/google-services.json: -------------------------------------------------------------------------------- 1 | { 2 | "project_info": { 3 | "project_number": "256354490244", 4 | "project_id": "calculatorpp-86d8a", 5 | "storage_bucket": "calculatorpp-86d8a.appspot.com" 6 | }, 7 | "client": [ 8 | { 9 | "client_info": { 10 | "mobilesdk_app_id": "1:256354490244:android:4674f70d035e4bbdb5efd1", 11 | "android_client_info": { 12 | "package_name": "org.solovyev.android.calculator" 13 | } 14 | }, 15 | "oauth_client": [], 16 | "api_key": [ 17 | { 18 | "current_key": "AIzaSyDmabRGhOstItse_rveL5ReDooqfK2hDHo" 19 | } 20 | ], 21 | "services": { 22 | "appinvite_service": { 23 | "other_platform_oauth_client": [] 24 | } 25 | } 26 | } 27 | ], 28 | "configuration_version": "1" 29 | } -------------------------------------------------------------------------------- /app/lint.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/misc/doc/GoogleAdMobAdsSdk-4.3.1-javadocs.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/doc/GoogleAdMobAdsSdk-4.3.1-javadocs.zip -------------------------------------------------------------------------------- /app/misc/doc/achartengine-0.7.0-javadocs.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/doc/achartengine-0.7.0-javadocs.zip -------------------------------------------------------------------------------- /app/misc/libs/measure.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/libs/measure.jar -------------------------------------------------------------------------------- /app/misc/libs/org.apache.http.legacy.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/libs/org.apache.http.legacy.jar -------------------------------------------------------------------------------- /app/misc/libs/square-otto-1.3.9-SNAPSHOT.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/libs/square-otto-1.3.9-SNAPSHOT.jar -------------------------------------------------------------------------------- /app/misc/libs/square-otto-compiler-1.3.9-SNAPSHOT.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/libs/square-otto-compiler-1.3.9-SNAPSHOT.jar -------------------------------------------------------------------------------- /app/misc/other/remove_avds.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | 4 | declare -a densities=("160" "213" "240" "320") 5 | declare -a resolutions=("320x480" "480x640" "480x800" "480x854" "640x960" "1024x600" "1024x768" "1280x768" "1536x1152" "1920x1200") 6 | declare -a targets=("android-16") 7 | 8 | for target in ${targets[@]} 9 | do 10 | for density in ${densities[@]} 11 | do 12 | 13 | for resolution in ${resolutions[@]} 14 | do 15 | name="AVD" 16 | name="$name$density" 17 | name="$name$resolution" 18 | name="$name$target" 19 | 20 | $ANDROID_HOME/tools/android -s delete avd -n $name 21 | 22 | done 23 | done 24 | done -------------------------------------------------------------------------------- /app/misc/other/take_screenshots2.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | predefined=1 4 | scale=0.51 5 | 6 | # first predefined 7 | 8 | if [ $predefined -eq 1 ] 9 | then 10 | declare -a names=("AVD_Nexus_7_by_Google") 11 | for name in ${names[@]} 12 | do 13 | $ANDROID_HOME/tools/emulator -ports 5580,5581 -avd $name -scale $scale & 14 | sleep 50 15 | $ANDROID_HOME/tools/monkeyrunner ./take_screenshots.py ~/projects/java/android/calculatorpp/calculatorpp/misc/other/tmp/2012.11.25 $name 16 | $ANDROID_HOME/platform-tools/adb -s emulator-5580 emu kill 17 | sleep 3 18 | done 19 | fi -------------------------------------------------------------------------------- /app/misc/other/wait_device.py: -------------------------------------------------------------------------------- 1 | from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice 2 | 3 | print 'Waiting for device...' 4 | device = MonkeyRunner.waitForConnection(100, 'emulator-5580') 5 | print 'Finished' 6 | if device : 7 | print 'Success' 8 | else : 9 | print 'Failure' 10 | 11 | -------------------------------------------------------------------------------- /app/misc/res/calculatorpp/01_main_screen_port.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/calculatorpp/01_main_screen_port.png -------------------------------------------------------------------------------- /app/misc/res/calculatorpp/01_main_screen_port_sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/calculatorpp/01_main_screen_port_sm.png -------------------------------------------------------------------------------- /app/misc/res/calculatorpp/02_main_screen_land.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/calculatorpp/02_main_screen_land.png -------------------------------------------------------------------------------- /app/misc/res/calculatorpp/03_main_screen_port_with_expression.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/calculatorpp/03_main_screen_port_with_expression.png -------------------------------------------------------------------------------- /app/misc/res/calculatorpp/04_plot_graph_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/calculatorpp/04_plot_graph_menu.png -------------------------------------------------------------------------------- /app/misc/res/calculatorpp/04_plot_graph_menu_sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/calculatorpp/04_plot_graph_menu_sm.png -------------------------------------------------------------------------------- /app/misc/res/calculatorpp/05_graph_screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/calculatorpp/05_graph_screen.png -------------------------------------------------------------------------------- /app/misc/res/calculatorpp/05_graph_screen_sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/calculatorpp/05_graph_screen_sm.png -------------------------------------------------------------------------------- /app/misc/res/calculatorpp/06_constants_screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/calculatorpp/06_constants_screen.png -------------------------------------------------------------------------------- /app/misc/res/calculatorpp/06_constants_screen_sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/calculatorpp/06_constants_screen_sm.png -------------------------------------------------------------------------------- /app/misc/res/calculatorpp/07_constant_create_dialog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/calculatorpp/07_constant_create_dialog.png -------------------------------------------------------------------------------- /app/misc/res/calculatorpp/08_constants_context_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/calculatorpp/08_constants_context_menu.png -------------------------------------------------------------------------------- /app/misc/res/calculatorpp/09_functions_screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/calculatorpp/09_functions_screen.png -------------------------------------------------------------------------------- /app/misc/res/calculatorpp/09_functions_screen_sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/calculatorpp/09_functions_screen_sm.png -------------------------------------------------------------------------------- /app/misc/res/calculatorpp/10_history_screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/calculatorpp/10_history_screen.png -------------------------------------------------------------------------------- /app/misc/res/calculatorpp/10_history_screen_sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/calculatorpp/10_history_screen_sm.png -------------------------------------------------------------------------------- /app/misc/res/calculatorpp/11_history_item_context_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/calculatorpp/11_history_item_context_menu.png -------------------------------------------------------------------------------- /app/misc/res/calculatorpp/12_saved_history_tab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/calculatorpp/12_saved_history_tab.png -------------------------------------------------------------------------------- /app/misc/res/calculatorpp/13_saved_history_item_context_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/calculatorpp/13_saved_history_item_context_menu.png -------------------------------------------------------------------------------- /app/misc/res/calculatorpp/14_about_screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/calculatorpp/14_about_screen.png -------------------------------------------------------------------------------- /app/misc/res/calculatorpp/14_about_screen_sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/calculatorpp/14_about_screen_sm.png -------------------------------------------------------------------------------- /app/misc/res/calculatorpp/15_release_notes_tab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/calculatorpp/15_release_notes_tab.png -------------------------------------------------------------------------------- /app/misc/res/calculatorpp/16_help_screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/calculatorpp/16_help_screen.png -------------------------------------------------------------------------------- /app/misc/res/calculatorpp/16_help_screen_sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/calculatorpp/16_help_screen_sm.png -------------------------------------------------------------------------------- /app/misc/res/calculatorpp/17_hints_tab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/calculatorpp/17_hints_tab.png -------------------------------------------------------------------------------- /app/misc/res/calculatorpp/18_preferences.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/calculatorpp/18_preferences.png -------------------------------------------------------------------------------- /app/misc/res/calculatorpp/18_preferences_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/calculatorpp/18_preferences_02.png -------------------------------------------------------------------------------- /app/misc/res/calculatorpp/18_preferences_03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/calculatorpp/18_preferences_03.png -------------------------------------------------------------------------------- /app/misc/res/calculatorpp/18_preferences_sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/calculatorpp/18_preferences_sm.png -------------------------------------------------------------------------------- /app/misc/res/calculatorpp/plan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/calculatorpp/plan.png -------------------------------------------------------------------------------- /app/misc/res/calculatorpp/plan.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/calculatorpp/plan.xcf -------------------------------------------------------------------------------- /app/misc/res/description/description-short-ru.txt: -------------------------------------------------------------------------------- 1 | Бесплатный научный калькулятор с элегантным интерфейсом и широкими возможностями -------------------------------------------------------------------------------- /app/misc/res/description/description-short.txt: -------------------------------------------------------------------------------- 1 | Free scientific calculator with sleek interface and powerful capabilities -------------------------------------------------------------------------------- /app/misc/res/description/description-zh-CN.txt: -------------------------------------------------------------------------------- 1 | 你正在寻找一个高效方便的计算器吗? 2 | 你想简单地解决复杂的问题吗? 3 | 使用Calculator++吧,一个美观且直观的多功能计算器 ! 4 | 5 | ★ 节省时间 ! 6 | • 同一界面使用手势访问次级功能 例如, 在«/» 键向上滑以使用 «%» 7 | • 您不再需要按 «=» — — 结果是自动计算的 8 | • 专门的复制/粘贴按钮 9 | • 支持纵向和横向屏幕方向 10 | 11 | ★ 个性化 ! 12 | • C + + 有两个布局: 标准和工程模式。 在向导或设置界面选择最适合你的界面 13 | • 设置你喜欢的主题 14 | • 添加主屏幕小部件 15 | 16 | ★ 无需在应用间切换的计算 ! 17 | 计算器 + + 可以以独立窗口模式工作,悬浮在其他应用程序上方 18 | 19 | ★ 百分比,开根号,求幂,三角函数 ! 20 | 内置常用函数,并且支持添加自定义函数 21 | 22 | ★ 绘制 2D 和 3D 图表 ! 23 | 可以同时绘制多个函数 24 | 25 | ★ 使用强大的数学功能: 26 | • 变量和常量计算 27 | • 调用内置函数或添加自定义函数 28 | • 积分和求导 29 | • 分数和简单表达式计算 30 | • 复数计算 31 | 32 | 应用程序支持 Android 版本 2.2 和更高的设备,并且是开放源码的。 应用的二级菜单包含广告。 请从设置购买一个特殊选项以删除他们。 33 | 34 | Facebook: http://facebook.com/calculatorpp 35 | Vkontakte: http://vk.com/calculatorpp -------------------------------------------------------------------------------- /app/misc/res/icon-green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/icon-green.png -------------------------------------------------------------------------------- /app/misc/res/icon-hi-res.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/icon-hi-res.png -------------------------------------------------------------------------------- /app/misc/res/icon-promo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/icon-promo.png -------------------------------------------------------------------------------- /app/misc/res/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/icon.png -------------------------------------------------------------------------------- /app/misc/res/icon144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/icon144.png -------------------------------------------------------------------------------- /app/misc/res/icon48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/icon48.png -------------------------------------------------------------------------------- /app/misc/res/icon512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/icon512.png -------------------------------------------------------------------------------- /app/misc/res/icon72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/icon72.png -------------------------------------------------------------------------------- /app/misc/res/icon96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/icon96.png -------------------------------------------------------------------------------- /app/misc/res/icon_onscreen144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/icon_onscreen144.png -------------------------------------------------------------------------------- /app/misc/res/icon_onscreen48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/icon_onscreen48.png -------------------------------------------------------------------------------- /app/misc/res/icon_onscreen512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/icon_onscreen512.png -------------------------------------------------------------------------------- /app/misc/res/icon_onscreen72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/icon_onscreen72.png -------------------------------------------------------------------------------- /app/misc/res/icon_onscreen96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/icon_onscreen96.png -------------------------------------------------------------------------------- /app/misc/res/logo-admob.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/logo-admob.png -------------------------------------------------------------------------------- /app/misc/res/logo-scaled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/logo-scaled.png -------------------------------------------------------------------------------- /app/misc/res/logo-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/logo-small.png -------------------------------------------------------------------------------- /app/misc/res/logo.cdr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/logo.cdr -------------------------------------------------------------------------------- /app/misc/res/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/logo.png -------------------------------------------------------------------------------- /app/misc/res/widget.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/widget.png -------------------------------------------------------------------------------- /app/misc/res/work/Backup_of_logo.cdr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/work/Backup_of_logo.cdr -------------------------------------------------------------------------------- /app/misc/res/work/header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/work/header.png -------------------------------------------------------------------------------- /app/misc/res/work/header_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/work/header_bg.png -------------------------------------------------------------------------------- /app/misc/res/work/header_sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/work/header_sm.png -------------------------------------------------------------------------------- /app/misc/res/work/heart_original.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/work/heart_original.png -------------------------------------------------------------------------------- /app/misc/res/work/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/work/icon.png -------------------------------------------------------------------------------- /app/misc/res/work/icon_favicon_light_blue.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/work/icon_favicon_light_blue.ico -------------------------------------------------------------------------------- /app/misc/res/work/icon_favicon_light_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/work/icon_favicon_light_blue.png -------------------------------------------------------------------------------- /app/misc/res/work/icon_favicon_purple.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/work/icon_favicon_purple.ico -------------------------------------------------------------------------------- /app/misc/res/work/icon_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/work/icon_small.png -------------------------------------------------------------------------------- /app/misc/res/work/log11o.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/work/log11o.psd -------------------------------------------------------------------------------- /app/misc/res/work/logo.cdr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/work/logo.cdr -------------------------------------------------------------------------------- /app/misc/res/work/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/work/logo.png -------------------------------------------------------------------------------- /app/misc/res/work/logoFULL copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/work/logoFULL copy.png -------------------------------------------------------------------------------- /app/misc/res/work/logoFULL.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/work/logoFULL.pdf -------------------------------------------------------------------------------- /app/misc/res/work/logoFULL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/work/logoFULL.png -------------------------------------------------------------------------------- /app/misc/res/work/logoFULL_banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/work/logoFULL_banner.png -------------------------------------------------------------------------------- /app/misc/res/work/logoFULL_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/work/logoFULL_small.png -------------------------------------------------------------------------------- /app/misc/res/work/logo_black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/work/logo_black.png -------------------------------------------------------------------------------- /app/misc/res/work/logo_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/work/logo_blue.png -------------------------------------------------------------------------------- /app/misc/res/work/logo_light_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/work/logo_light_blue.png -------------------------------------------------------------------------------- /app/misc/res/work/logo_purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/work/logo_purple.png -------------------------------------------------------------------------------- /app/misc/res/work/promo_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/work/promo_logo.png -------------------------------------------------------------------------------- /app/misc/res/work/text_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/work/text_logo.png -------------------------------------------------------------------------------- /app/misc/res/work/text_logo_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/work/text_logo_blue.png -------------------------------------------------------------------------------- /app/misc/res/work/text_logo_light_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/work/text_logo_light_blue.png -------------------------------------------------------------------------------- /app/misc/res/work/text_logo_light_blue_cpp_forum.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/work/text_logo_light_blue_cpp_forum.png -------------------------------------------------------------------------------- /app/misc/res/work/text_logo_purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/res/work/text_logo_purple.png -------------------------------------------------------------------------------- /app/misc/src/achartengine-0.7.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/src/achartengine-0.7.0.jar -------------------------------------------------------------------------------- /app/misc/src/bsh.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/misc/src/bsh.jar -------------------------------------------------------------------------------- /app/src/main/assets/fonts/Roboto-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/assets/fonts/Roboto-Regular.ttf -------------------------------------------------------------------------------- /app/src/main/java/org/solovyev/android/calculator/Runnables.java: -------------------------------------------------------------------------------- 1 | package org.solovyev.android.calculator; 2 | 3 | import androidx.annotation.NonNull; 4 | import org.solovyev.android.Check; 5 | 6 | import java.util.ArrayList; 7 | import java.util.List; 8 | 9 | public class Runnables implements Runnable { 10 | @NonNull 11 | private final List list = new ArrayList<>(); 12 | @Override 13 | public void run() { 14 | Check.isMainThread(); 15 | for (Runnable runnable : list) { 16 | runnable.run(); 17 | } 18 | list.clear(); 19 | } 20 | 21 | public void add(@NonNull Runnable runnable) { 22 | Check.isMainThread(); 23 | list.add(runnable); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /app/src/main/java/org/solovyev/android/calculator/Utils.java: -------------------------------------------------------------------------------- 1 | package org.solovyev.android.calculator; 2 | 3 | import androidx.annotation.NonNull; 4 | 5 | import javax.annotation.Nonnull; 6 | 7 | public class Utils { 8 | @NonNull 9 | public static String getErrorMessage(@Nonnull Throwable error) { 10 | final String localizedMessage = error.getLocalizedMessage(); 11 | return localizedMessage == null ? error.getClass().getSimpleName() : localizedMessage; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/java/org/solovyev/android/calculator/calculations/BaseConversionEvent.java: -------------------------------------------------------------------------------- 1 | package org.solovyev.android.calculator.calculations; 2 | 3 | import androidx.annotation.NonNull; 4 | 5 | import org.solovyev.android.calculator.DisplayState; 6 | 7 | public class BaseConversionEvent { 8 | @NonNull 9 | public final DisplayState state; 10 | 11 | public BaseConversionEvent(@NonNull DisplayState state) { 12 | this.state = state; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/java/org/solovyev/android/calculator/calculations/CalculationCancelledEvent.java: -------------------------------------------------------------------------------- 1 | package org.solovyev.android.calculator.calculations; 2 | 3 | import org.solovyev.android.calculator.jscl.JsclOperation; 4 | 5 | import javax.annotation.Nonnull; 6 | 7 | public final class CalculationCancelledEvent extends BaseCalculationEvent { 8 | public CalculationCancelledEvent(@Nonnull JsclOperation operation, @Nonnull String expression, long sequence) { 9 | super(operation, expression, sequence); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/java/org/solovyev/android/calculator/calculations/CalculationFailedEvent.java: -------------------------------------------------------------------------------- 1 | package org.solovyev.android.calculator.calculations; 2 | 3 | import org.solovyev.android.calculator.jscl.JsclOperation; 4 | 5 | import javax.annotation.Nonnull; 6 | 7 | public final class CalculationFailedEvent extends BaseCalculationEvent { 8 | @Nonnull 9 | public final Exception exception; 10 | 11 | public CalculationFailedEvent(@Nonnull JsclOperation operation, @Nonnull String expression, long sequence, @Nonnull Exception exception) { 12 | super(operation, expression, sequence); 13 | this.exception = exception; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /app/src/main/java/org/solovyev/android/calculator/calculations/ConversionFailedEvent.java: -------------------------------------------------------------------------------- 1 | package org.solovyev.android.calculator.calculations; 2 | 3 | import androidx.annotation.NonNull; 4 | 5 | import org.solovyev.android.calculator.DisplayState; 6 | 7 | public class ConversionFailedEvent extends BaseConversionEvent { 8 | 9 | public ConversionFailedEvent(@NonNull DisplayState state) { 10 | super(state); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/java/org/solovyev/android/calculator/calculations/ConversionFinishedEvent.java: -------------------------------------------------------------------------------- 1 | package org.solovyev.android.calculator.calculations; 2 | 3 | import androidx.annotation.NonNull; 4 | 5 | import org.solovyev.android.calculator.DisplayState; 6 | 7 | import jscl.NumeralBase; 8 | 9 | public class ConversionFinishedEvent extends BaseConversionEvent { 10 | @NonNull 11 | public final String result; 12 | @NonNull 13 | public final NumeralBase numeralBase; 14 | 15 | public ConversionFinishedEvent(@NonNull String result, @NonNull NumeralBase numeralBase, 16 | @NonNull DisplayState state) { 17 | super(state); 18 | this.result = result; 19 | this.numeralBase = numeralBase; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /app/src/main/java/org/solovyev/android/calculator/converter/Convertible.java: -------------------------------------------------------------------------------- 1 | package org.solovyev.android.calculator.converter; 2 | 3 | import android.content.Context; 4 | import androidx.annotation.NonNull; 5 | 6 | import org.solovyev.android.calculator.Named; 7 | 8 | interface Convertible { 9 | @NonNull 10 | String convert(@NonNull Convertible to, @NonNull String value) throws NumberFormatException; 11 | 12 | @NonNull 13 | Named named(@NonNull Context context); 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/java/org/solovyev/android/calculator/converter/ConvertibleDimension.java: -------------------------------------------------------------------------------- 1 | package org.solovyev.android.calculator.converter; 2 | 3 | import android.content.Context; 4 | import androidx.annotation.NonNull; 5 | 6 | import org.solovyev.android.calculator.Named; 7 | 8 | import java.util.List; 9 | 10 | public interface ConvertibleDimension { 11 | @NonNull 12 | Named named(@NonNull Context context); 13 | 14 | @NonNull 15 | List getUnits(); 16 | } 17 | -------------------------------------------------------------------------------- /app/src/main/java/org/solovyev/android/calculator/entities/Category.java: -------------------------------------------------------------------------------- 1 | package org.solovyev.android.calculator.entities; 2 | 3 | import androidx.annotation.StringRes; 4 | 5 | import org.solovyev.common.math.MathEntity; 6 | 7 | import javax.annotation.Nonnull; 8 | 9 | public interface Category { 10 | 11 | int ordinal(); 12 | 13 | @Nonnull 14 | String name(); 15 | 16 | boolean isInCategory(@Nonnull E entity); 17 | 18 | @StringRes 19 | int title(); 20 | } 21 | -------------------------------------------------------------------------------- /app/src/main/java/org/solovyev/android/calculator/entities/Entities.java: -------------------------------------------------------------------------------- 1 | package org.solovyev.android.calculator.entities; 2 | 3 | import androidx.annotation.NonNull; 4 | 5 | import org.solovyev.common.math.MathEntity; 6 | 7 | import javax.annotation.Nonnull; 8 | import javax.annotation.Nullable; 9 | 10 | public final class Entities { 11 | 12 | private Entities() { 13 | } 14 | 15 | @Nullable 16 | public static > Category getCategory(@Nonnull E entity, @NonNull C[] categories) { 17 | for (C category : categories) { 18 | if (category.isInCategory(entity)) { 19 | return category; 20 | } 21 | } 22 | 23 | return null; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /app/src/main/java/org/solovyev/android/calculator/json/Jsonable.java: -------------------------------------------------------------------------------- 1 | package org.solovyev.android.calculator.json; 2 | 3 | import org.json.JSONException; 4 | import org.json.JSONObject; 5 | 6 | import javax.annotation.Nonnull; 7 | 8 | public interface Jsonable { 9 | @Nonnull 10 | JSONObject toJson() throws JSONException; 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/java/org/solovyev/android/calculator/math/MathUtils.java: -------------------------------------------------------------------------------- 1 | package org.solovyev.android.calculator.math; 2 | 3 | public class MathUtils { 4 | 5 | public static int clamp(int value, int min, int max) { 6 | return value < min ? min : (value > max ? max : value); 7 | } 8 | 9 | public static float clamp(float value, float min, float max) { 10 | return value < min ? min : (value > max ? max : value); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/java/org/solovyev/android/calculator/matrix/MatrixUi.java: -------------------------------------------------------------------------------- 1 | package org.solovyev.android.calculator.matrix; 2 | 3 | import java.io.Serializable; 4 | 5 | import javax.annotation.Nonnull; 6 | 7 | /** 8 | * User: serso 9 | * Date: 7/11/13 10 | * Time: 4:54 PM 11 | */ 12 | class MatrixUi implements Serializable { 13 | 14 | @Nonnull 15 | private String[][] bakingArray; 16 | 17 | public MatrixUi() { 18 | } 19 | 20 | public MatrixUi(@Nonnull String[][] bakingArray) { 21 | this.bakingArray = bakingArray; 22 | } 23 | 24 | @Nonnull 25 | String[][] getBakingArray() { 26 | return bakingArray; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /app/src/main/java/org/solovyev/android/calculator/preferences/PreferenceEntry.java: -------------------------------------------------------------------------------- 1 | package org.solovyev.android.calculator.preferences; 2 | 3 | import android.content.Context; 4 | import androidx.annotation.NonNull; 5 | 6 | public interface PreferenceEntry { 7 | @NonNull 8 | CharSequence getName(@NonNull Context context); 9 | 10 | @NonNull 11 | CharSequence getId(); 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/java/org/solovyev/android/calculator/release/ChooseThemeReleaseNoteFragment.java: -------------------------------------------------------------------------------- 1 | package org.solovyev.android.calculator.release; 2 | 3 | import android.os.Bundle; 4 | import android.view.View; 5 | import android.widget.TextView; 6 | 7 | import org.solovyev.android.calculator.R; 8 | import org.solovyev.android.calculator.wizard.ChooseThemeWizardStep; 9 | 10 | public class ChooseThemeReleaseNoteFragment extends ChooseThemeWizardStep { 11 | 12 | @Override 13 | public void onViewCreated(View root, Bundle savedInstanceState) { 14 | super.onViewCreated(root, savedInstanceState); 15 | 16 | final TextView title = (TextView) root.findViewById(R.id.wizard_theme_title); 17 | title.setText(R.string.cpp_release_notes_choose_theme); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /app/src/main/java/org/solovyev/android/calculator/release/ChooseThemeReleaseNoteStep.java: -------------------------------------------------------------------------------- 1 | package org.solovyev.android.calculator.release; 2 | 3 | import android.os.Bundle; 4 | 5 | import androidx.fragment.app.Fragment; 6 | import javax.annotation.Nonnull; 7 | 8 | public class ChooseThemeReleaseNoteStep extends ReleaseNoteStep { 9 | public static final int VERSION_CODE = 137; 10 | 11 | public ChooseThemeReleaseNoteStep(Integer version) { 12 | super(version); 13 | } 14 | 15 | public ChooseThemeReleaseNoteStep(@Nonnull Bundle arguments) { 16 | super(arguments); 17 | } 18 | 19 | @Nonnull 20 | @Override 21 | public Class getFragmentClass() { 22 | return ChooseThemeReleaseNoteFragment.class; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /app/src/main/java/org/solovyev/android/calculator/release/ReleaseNote.java: -------------------------------------------------------------------------------- 1 | package org.solovyev.android.calculator.release; 2 | 3 | import androidx.annotation.NonNull; 4 | import androidx.annotation.StringRes; 5 | 6 | public class ReleaseNote { 7 | @NonNull 8 | public final String versionName; 9 | @StringRes 10 | public final int description; 11 | 12 | private ReleaseNote(@NonNull String versionName, int description) { 13 | this.versionName = versionName; 14 | this.description = description; 15 | } 16 | 17 | @NonNull 18 | public static ReleaseNote make(@NonNull String versionName, int description) { 19 | return new ReleaseNote(versionName, description); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /app/src/main/java/org/solovyev/android/calculator/text/NaturalComparator.java: -------------------------------------------------------------------------------- 1 | package org.solovyev.android.calculator.text; 2 | 3 | import java.util.Comparator; 4 | 5 | public class NaturalComparator implements Comparator { 6 | public static final NaturalComparator INSTANCE = new NaturalComparator(); 7 | 8 | @Override 9 | public int compare(Object lhs, Object rhs) { 10 | return lhs.toString().compareTo(rhs.toString()); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/java/org/solovyev/android/calculator/text/NumberSpan.java: -------------------------------------------------------------------------------- 1 | package org.solovyev.android.calculator.text; 2 | 3 | import jscl.NumeralBase; 4 | 5 | import javax.annotation.Nonnull; 6 | 7 | public class NumberSpan { 8 | @Nonnull 9 | public final NumeralBase numeralBase; 10 | 11 | public NumberSpan(@Nonnull NumeralBase numeralBase) { 12 | this.numeralBase = numeralBase; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/java/org/solovyev/android/io/Io.java: -------------------------------------------------------------------------------- 1 | package org.solovyev.android.io; 2 | 3 | import android.util.Log; 4 | 5 | import java.io.Closeable; 6 | import java.io.IOException; 7 | 8 | public final class Io { 9 | 10 | private Io() { 11 | } 12 | 13 | public static void close(Closeable closeable) { 14 | try { 15 | if (closeable != null) { 16 | closeable.close(); 17 | } 18 | } catch (IOException e) { 19 | Log.e("Io", e.getMessage(), e); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /app/src/main/java/org/solovyev/android/wizard/Wizard.java: -------------------------------------------------------------------------------- 1 | package org.solovyev.android.wizard; 2 | 3 | import javax.annotation.Nonnull; 4 | import javax.annotation.Nullable; 5 | 6 | public interface Wizard { 7 | 8 | @Nullable 9 | String getLastSavedStepName(); 10 | 11 | boolean isFinished(); 12 | 13 | boolean isStarted(); 14 | 15 | void saveLastStep(@Nonnull WizardStep step); 16 | 17 | void saveFinished(@Nonnull WizardStep step, boolean forceFinish); 18 | 19 | @Nonnull 20 | WizardFlow getFlow(); 21 | 22 | @Nonnull 23 | String getName(); 24 | } 25 | -------------------------------------------------------------------------------- /app/src/main/java/org/solovyev/android/wizard/WizardStep.java: -------------------------------------------------------------------------------- 1 | package org.solovyev.android.wizard; 2 | 3 | import android.os.Bundle; 4 | 5 | import androidx.fragment.app.Fragment; 6 | import javax.annotation.Nonnull; 7 | import javax.annotation.Nullable; 8 | 9 | public interface WizardStep { 10 | 11 | @Nonnull 12 | String getFragmentTag(); 13 | 14 | @Nonnull 15 | Class getFragmentClass(); 16 | 17 | @Nullable 18 | Bundle getFragmentArgs(); 19 | 20 | int getTitleResId(); 21 | 22 | int getNextButtonTitleResId(); 23 | 24 | boolean onNext(@Nonnull Fragment fragment); 25 | 26 | boolean onPrev(@Nonnull Fragment fragment); 27 | 28 | boolean isVisible(); 29 | 30 | @Nonnull 31 | String getName(); 32 | } 33 | -------------------------------------------------------------------------------- /app/src/main/java/org/solovyev/android/wizard/Wizards.java: -------------------------------------------------------------------------------- 1 | package org.solovyev.android.wizard; 2 | 3 | import android.app.Activity; 4 | import android.os.Bundle; 5 | 6 | import javax.annotation.Nonnull; 7 | import javax.annotation.Nullable; 8 | 9 | public interface Wizards { 10 | 11 | @Nonnull 12 | Class getActivityClassName(); 13 | 14 | @Nonnull 15 | Wizard getWizard(@Nullable String name, @Nullable Bundle arguments) throws IllegalArgumentException; 16 | 17 | @Nonnull 18 | Wizard getWizard(@Nullable String name) throws IllegalArgumentException; 19 | } 20 | -------------------------------------------------------------------------------- /app/src/main/java/org/solovyev/android/wizard/WizardsAware.java: -------------------------------------------------------------------------------- 1 | package org.solovyev.android.wizard; 2 | 3 | import javax.annotation.Nonnull; 4 | 5 | public interface WizardsAware { 6 | 7 | @Nonnull 8 | Wizards getWizards(); 9 | } 10 | -------------------------------------------------------------------------------- /app/src/main/java/uz/shift/colorpicker/OnColorChangedListener.java: -------------------------------------------------------------------------------- 1 | package uz.shift.colorpicker; 2 | 3 | public interface OnColorChangedListener { 4 | void onColorChanged(int c); 5 | } 6 | -------------------------------------------------------------------------------- /app/src/main/java/uz/shift/colorpicker/Palette.java: -------------------------------------------------------------------------------- 1 | package uz.shift.colorpicker; 2 | 3 | import android.graphics.Color; 4 | 5 | public class Palette { 6 | 7 | public static int[] DEFAULT; 8 | 9 | static { 10 | 11 | DEFAULT = new int[]{Color.parseColor("#b8c847"), 12 | Color.parseColor("#67bb43"), Color.parseColor("#41b691"), 13 | Color.parseColor("#4182b6"), Color.parseColor("#4149b6"), 14 | Color.parseColor("#7641b6"), Color.parseColor("#b741a7"), 15 | Color.parseColor("#c54657"), Color.parseColor("#d1694a"), 16 | Color.parseColor("#d1904a"), Color.parseColor("#d1c54a")}; 17 | 18 | } 19 | 20 | private Palette() { 21 | 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /app/src/main/res/color/cpp_wizard_button_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/color/cpp_wizard_button_selector_light.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_3d_rotation_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-hdpi/ic_3d_rotation_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_action_done.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-hdpi/ic_action_done.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_action_done_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-hdpi/ic_action_done_light.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_add_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-hdpi/ic_add_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_add_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-hdpi/ic_add_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_add_white_36dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-hdpi/ic_add_white_36dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_arrow_downward_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-hdpi/ic_arrow_downward_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_arrow_downward_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-hdpi/ic_arrow_downward_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_arrow_upward_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-hdpi/ic_arrow_upward_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_arrow_upward_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-hdpi/ic_arrow_upward_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_backspace_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-hdpi/ic_backspace_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_backspace_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-hdpi/ic_backspace_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_close_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-hdpi/ic_close_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_content_copy_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-hdpi/ic_content_copy_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_content_paste_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-hdpi/ic_content_paste_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_delete_white_36dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-hdpi/ic_delete_white_36dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_done_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-hdpi/ic_done_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_history_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-hdpi/ic_history_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_keyboard_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-hdpi/ic_keyboard_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_launch_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-hdpi/ic_launch_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_launcher_window.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-hdpi/ic_launcher_window.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_list_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-hdpi/ic_list_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_mode_edit_white_18dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-hdpi/ic_mode_edit_white_18dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_my_location_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-hdpi/ic_my_location_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_remove_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-hdpi/ic_remove_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_remove_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-hdpi/ic_remove_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_settings_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-hdpi/ic_settings_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_space_bar_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-hdpi/ic_space_bar_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_straighten_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-hdpi/ic_straighten_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_swap_vert_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-hdpi/ic_swap_vert_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_swap_vert_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-hdpi/ic_swap_vert_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_vertical_align_center_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-hdpi/ic_vertical_align_center_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_vertical_align_top_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-hdpi/ic_vertical_align_top_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_zoom_in_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-hdpi/ic_zoom_in_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_zoom_out_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-hdpi/ic_zoom_out_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/kb_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-hdpi/kb_logo.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-ldpi/.emptyfolder: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-ldpi/.emptyfolder -------------------------------------------------------------------------------- /app/src/main/res/drawable-ldrtl-hdpi/ic_content_copy_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-ldrtl-hdpi/ic_content_copy_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-ldrtl-mdpi/ic_content_copy_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-ldrtl-mdpi/ic_content_copy_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-ldrtl-xhdpi/ic_content_copy_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-ldrtl-xhdpi/ic_content_copy_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-ldrtl-xxhdpi/ic_content_copy_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-ldrtl-xxhdpi/ic_content_copy_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-ldrtl-xxxhdpi/ic_content_copy_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-ldrtl-xxxhdpi/ic_content_copy_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_3d_rotation_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-mdpi/ic_3d_rotation_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_action_done.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-mdpi/ic_action_done.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_action_done_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-mdpi/ic_action_done_light.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_add_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-mdpi/ic_add_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_add_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-mdpi/ic_add_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_add_white_36dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-mdpi/ic_add_white_36dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_arrow_downward_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-mdpi/ic_arrow_downward_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_arrow_downward_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-mdpi/ic_arrow_downward_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_arrow_upward_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-mdpi/ic_arrow_upward_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_arrow_upward_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-mdpi/ic_arrow_upward_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_backspace_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-mdpi/ic_backspace_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_backspace_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-mdpi/ic_backspace_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_close_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-mdpi/ic_close_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_content_copy_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-mdpi/ic_content_copy_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_content_paste_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-mdpi/ic_content_paste_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_delete_white_36dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-mdpi/ic_delete_white_36dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_done_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-mdpi/ic_done_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_history_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-mdpi/ic_history_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_keyboard_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-mdpi/ic_keyboard_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_launch_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-mdpi/ic_launch_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_launcher_window.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-mdpi/ic_launcher_window.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_list_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-mdpi/ic_list_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_mode_edit_white_18dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-mdpi/ic_mode_edit_white_18dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_my_location_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-mdpi/ic_my_location_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_remove_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-mdpi/ic_remove_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_remove_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-mdpi/ic_remove_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_settings_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-mdpi/ic_settings_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_space_bar_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-mdpi/ic_space_bar_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_straighten_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-mdpi/ic_straighten_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_swap_vert_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-mdpi/ic_swap_vert_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_swap_vert_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-mdpi/ic_swap_vert_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_vertical_align_center_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-mdpi/ic_vertical_align_center_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_vertical_align_top_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-mdpi/ic_vertical_align_top_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_zoom_in_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-mdpi/ic_zoom_in_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_zoom_out_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-mdpi/ic_zoom_out_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/kb_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-mdpi/kb_logo.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-nodpi/cpp_onscreen_header_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-nodpi/cpp_onscreen_header_logo.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-nodpi/cpp_onscreen_header_logo_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-nodpi/cpp_onscreen_header_logo_light.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-nodpi/divider.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-nodpi/divider.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-nodpi/divider_dark.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-nodpi/divider_dark.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-nodpi/logo_wizard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-nodpi/logo_wizard.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-nodpi/logo_wizard_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-nodpi/logo_wizard_light.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-nodpi/logo_wizard_window.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-nodpi/logo_wizard_window.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-nodpi/logo_wizard_window_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-nodpi/logo_wizard_window_light.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-nodpi/widget_preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-nodpi/widget_preview.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_3d_rotation_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xhdpi/ic_3d_rotation_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_action_done.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xhdpi/ic_action_done.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_action_done_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xhdpi/ic_action_done_light.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_add_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xhdpi/ic_add_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_add_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xhdpi/ic_add_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_add_white_36dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xhdpi/ic_add_white_36dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_arrow_downward_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xhdpi/ic_arrow_downward_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_arrow_downward_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xhdpi/ic_arrow_downward_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_arrow_upward_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xhdpi/ic_arrow_upward_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_arrow_upward_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xhdpi/ic_arrow_upward_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_backspace_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xhdpi/ic_backspace_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_backspace_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xhdpi/ic_backspace_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_close_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xhdpi/ic_close_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_content_copy_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xhdpi/ic_content_copy_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_content_paste_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xhdpi/ic_content_paste_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_delete_white_36dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xhdpi/ic_delete_white_36dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_done_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xhdpi/ic_done_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_history_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xhdpi/ic_history_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_keyboard_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xhdpi/ic_keyboard_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_launch_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xhdpi/ic_launch_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_launcher_window.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xhdpi/ic_launcher_window.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_list_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xhdpi/ic_list_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_mode_edit_white_18dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xhdpi/ic_mode_edit_white_18dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_my_location_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xhdpi/ic_my_location_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_remove_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xhdpi/ic_remove_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_remove_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xhdpi/ic_remove_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_settings_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xhdpi/ic_settings_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_space_bar_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xhdpi/ic_space_bar_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_straighten_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xhdpi/ic_straighten_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_swap_vert_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xhdpi/ic_swap_vert_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_swap_vert_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xhdpi/ic_swap_vert_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_vertical_align_center_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xhdpi/ic_vertical_align_center_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_vertical_align_top_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xhdpi/ic_vertical_align_top_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_zoom_in_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xhdpi/ic_zoom_in_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_zoom_out_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xhdpi/ic_zoom_out_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/kb_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xhdpi/kb_logo.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_3d_rotation_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxhdpi/ic_3d_rotation_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_action_done.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxhdpi/ic_action_done.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_action_done_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxhdpi/ic_action_done_light.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_add_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxhdpi/ic_add_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_add_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxhdpi/ic_add_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_add_white_36dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxhdpi/ic_add_white_36dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_arrow_downward_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxhdpi/ic_arrow_downward_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_arrow_downward_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxhdpi/ic_arrow_downward_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_arrow_upward_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxhdpi/ic_arrow_upward_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_arrow_upward_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxhdpi/ic_arrow_upward_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_backspace_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxhdpi/ic_backspace_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_backspace_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxhdpi/ic_backspace_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_close_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxhdpi/ic_close_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_content_copy_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxhdpi/ic_content_copy_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_content_paste_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxhdpi/ic_content_paste_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_delete_white_36dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxhdpi/ic_delete_white_36dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_done_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxhdpi/ic_done_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_history_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxhdpi/ic_history_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_keyboard_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxhdpi/ic_keyboard_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_launch_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxhdpi/ic_launch_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_launcher_window.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxhdpi/ic_launcher_window.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_list_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxhdpi/ic_list_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_mode_edit_white_18dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxhdpi/ic_mode_edit_white_18dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_my_location_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxhdpi/ic_my_location_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_remove_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxhdpi/ic_remove_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_remove_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxhdpi/ic_remove_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_settings_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxhdpi/ic_settings_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_space_bar_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxhdpi/ic_space_bar_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_straighten_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxhdpi/ic_straighten_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_swap_vert_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxhdpi/ic_swap_vert_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_swap_vert_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxhdpi/ic_swap_vert_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_vertical_align_center_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxhdpi/ic_vertical_align_center_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_vertical_align_top_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxhdpi/ic_vertical_align_top_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_zoom_in_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxhdpi/ic_zoom_in_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_zoom_out_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxhdpi/ic_zoom_out_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_3d_rotation_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxxhdpi/ic_3d_rotation_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_add_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxxhdpi/ic_add_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_add_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxxhdpi/ic_add_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_arrow_downward_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxxhdpi/ic_arrow_downward_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_arrow_downward_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxxhdpi/ic_arrow_downward_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_arrow_upward_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxxhdpi/ic_arrow_upward_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_arrow_upward_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxxhdpi/ic_arrow_upward_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_backspace_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxxhdpi/ic_backspace_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_backspace_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxxhdpi/ic_backspace_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_close_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxxhdpi/ic_close_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_content_copy_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxxhdpi/ic_content_copy_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_content_paste_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxxhdpi/ic_content_paste_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_done_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxxhdpi/ic_done_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_history_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxxhdpi/ic_history_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_keyboard_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxxhdpi/ic_keyboard_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_launch_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxxhdpi/ic_launch_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_launcher_window.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxxhdpi/ic_launcher_window.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_list_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxxhdpi/ic_list_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_mode_edit_white_18dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxxhdpi/ic_mode_edit_white_18dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_my_location_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxxhdpi/ic_my_location_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_remove_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxxhdpi/ic_remove_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_remove_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxxhdpi/ic_remove_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_settings_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxxhdpi/ic_settings_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_space_bar_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxxhdpi/ic_space_bar_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_straighten_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxxhdpi/ic_straighten_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_swap_vert_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxxhdpi/ic_swap_vert_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_swap_vert_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxxhdpi/ic_swap_vert_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_vertical_align_center_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxxhdpi/ic_vertical_align_center_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_vertical_align_top_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxxhdpi/ic_vertical_align_top_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_zoom_in_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxxhdpi/ic_zoom_in_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_zoom_out_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/app/src/main/res/drawable-xxxhdpi/ic_zoom_out_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_chevron_left_white_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_keyboard_arrow_left_white_48dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_keyboard_arrow_right_white_48dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_plot_functions.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/layout/onscreen_display.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/layout/onscreen_display_light.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/layout/onscreen_editor.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/layout/onscreen_editor_light.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/layout/preference_precision.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/layout/widget_display.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/layout/widget_display_light.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/layout/widget_editor.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/layout/widget_editor_light.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/values-ar/strings_converter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | زمن 4 | كمية مادة 5 | تيار كهربائي 6 | طول 7 | كتلة 8 | درجة حرارة 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-ar/strings_imported_other.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | تقييم %1$s 4 | إذا كنت تستمتع بـ %1$s، يرجى أن تستغرق لحظة وتعطينا تقييمًا بخمس نجوم في Google Play. 5 | ضع تقييمًا الآن 6 | لا، شكرًا 7 | عدم الإظهار مرة أخرى 8 | إذن مفقود 9 | يرجى تمكين إذن %1$s في إعدادات النظام 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-ar/strings_imported_other1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | مقدّمة 4 | أساسي 5 | خيارات متقدمة 6 | الإبلاغ عن خطأ 7 | تعليمات 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-ar/strings_preferences.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | إظهار النتيجة أثناء الكتابة 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/values-cs/strings_converter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Čas 4 | Látkové množství 5 | Elektrický proud 6 | Délka 7 | Hmotnost 8 | Teplota 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-cs/strings_imported_other.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Ohodnotit aplikaci %1$s 4 | Pokud se vám aplikace %1$s líbí, prosím věnujte nám okamžik a udělte nám pětihvězdičkové hodnocení na Google Play. 5 | Ohodnotit nyní 6 | Ne, díky 7 | Již nezobrazovat 8 | Chybějící oprávnění 9 | Prosím, povolte v nastaveních systému oprávnění pro %1$s 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-cs/strings_imported_other1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Úvodem 4 | Základní 5 | Rozšířené 6 | Nahlásit problém 7 | Nápověda 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-cs/strings_preferences.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Výsledek se počítá během psaní 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/values-de/strings_converter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Zeit 4 | Stoffmenge 5 | Elektrischer Strom 6 | Länge 7 | Masse 8 | Temperatur 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-de/strings_imported_other.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | %1$s bewerten 4 | Wenn Ihnen %1$s gefällt, würden wir uns über Ihre Fünf-Sterne-Bewertung in Google Play freuen. 5 | Jetzt bewerten 6 | Nein danke 7 | Nicht erneut zeigen 8 | Berechtigung fehlt 9 | Bitte aktivieren Sie die Berechtigung %1$s in den Systemeinstellungen 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-de/strings_imported_other1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Einführung 4 | Grundeinstellungen 5 | Erweitert 6 | Ein Problem melden 7 | Hilfe 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-de/strings_preferences.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Ergebnis wird während der Eingabe berechnet 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/values-es/strings_converter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Tiempo 4 | Cantidad de sustancia 5 | Corriente eléctrica 6 | Longitud 7 | Masa 8 | Temperatura 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-es/strings_imported_other.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Califica %1$s 4 | Si disfrutas usar %1$s, por favor dedica un instante y regálanos una calificación de cinco estrellas en Google Play. 5 | Danos tu calificación 6 | No, gracias 7 | No mostrar nuevamente 8 | Falta el permiso 9 | Por favor activa el permiso para %1$s en las opciones del sistema 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-es/strings_imported_other1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Introducción 4 | Básico 5 | Avanzado 6 | Reporta un problema 7 | Ayuda 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-es/strings_preferences.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | El resultado se calcula mientras escribes 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/values-fi/strings_converter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Aika 4 | Ainemäärä 5 | Sähkövirta 6 | Pituus 7 | Massa 8 | Lämpötila 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-fi/strings_imported_other.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Arvostele %1$s 4 | Jos pidät %1$s -sovelluksesta, anna meille viiden tähden arvostelu Google Play -palvelussa. 5 | Arvostele nyt 6 | Ei kiitos 7 | Älä näytä uudelleen 8 | Käyttöoikeus puuttuu 9 | Salli kohteen %1$s käyttöoikeus järjestelmäasetuksissa 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-fi/strings_imported_other1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Esittely 4 | Perusasetukset 5 | Lisäasetukset 6 | Ilmoita ongelmasta 7 | Ohje 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-fi/strings_preferences.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Tulos lasketaan kirjoitettaessa 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/values-fr/strings_converter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Temps 4 | Quantité de matière 5 | Courant électrique 6 | Longueur 7 | Masse 8 | Température 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-fr/strings_imported_other.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Noter %1$s 4 | Si vous appréciez %1$s, prenez un moment et donnez-nous 5 étoiles dans Google Play. 5 | Noter maintenant 6 | Non, merci 7 | Ne plus afficher 8 | Autorisation manquante 9 | Veuillez activer l\'autorisation %1$s dans les réglages systèmes 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-fr/strings_imported_other1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Introduction 4 | Basique 5 | Avancé 6 | Signaler un problème 7 | Aide 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-fr/strings_preferences.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Le résultat est calculé pendant la frappe 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/values-it/strings_converter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Tempo 4 | Quantità di sostanza 5 | Corrente elettrica 6 | Lunghezza 7 | Massa 8 | Temperatura 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-it/strings_imported_other.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Valuta %1$s 4 | Se ti piace %1$s, per favore dedica un minuto del tuo tempo per attribuirci 5 stelle su Google Play. 5 | Vota adesso 6 | No, grazie 7 | Non mostrare più 8 | Permesso assente 9 | Per favore garantisci il permesso: %1$s nelle impostazioni 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-it/strings_imported_other1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Introduzione 4 | Di base 5 | Avanzate 6 | Segnala un problema 7 | Guida 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-it/strings_preferences.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Il risultato viene computato durante l\'inserimento 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/values-ja/strings_converter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 時間 4 | 物質量 5 | 電流 6 | 長さ 7 | 質量 8 | 温度 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-ja/strings_imported_other.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | %1$s を評価する 4 | %1$s を楽しまれている場合には、Google Play での評価にご協力ください。 5 | 今すぐ評価する 6 | 今回はしない 7 | 再度表示しない 8 | 不足している権限 9 | システム設定で %1$s へのアクセス権限を許可してください 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-ja/strings_imported_other1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 初めに 4 | 基本設定 5 | 詳細ツール 6 | 問題を報告 7 | ヘルプ 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-ja/strings_preferences.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 入力中に演算結果を表示する 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/values-nl/strings_converter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Tijd 4 | Stofhoeveelheid 5 | Elektrische stroom 6 | Lengte 7 | Massa 8 | Temperatuur 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-nl/strings_imported_other.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Waardeer %1$s 4 | Als je %1$s leuk vindt, neem dan even de tijd en geef ons een beoordeling van vijf sterren bij Google Play. 5 | Nu beoordelen 6 | Nee, bedankt 7 | Niet meer laten zien 8 | Toestemming ontbreekt 9 | Schakel %1$s toestemming in in systeeminstellingen 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-nl/strings_imported_other1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Introductie 4 | Basis 5 | Geavanceerd 6 | Probleem melden 7 | Help 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-nl/strings_preferences.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Resultaat wordt berekend tijdens het typen 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/values-pl/strings_converter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Czas 4 | Liczność materii 5 | Prąd elektryczny 6 | Długość fizyczna 7 | Masa 8 | Temperatura 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-pl/strings_imported_other.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Oceń program %1$s 4 | Jeśli podoba Ci się %1$s, poświęć chwilę i daj nam pięć gwiazdek w usłudze Google Play. 5 | Oceń ją teraz 6 | Nie, dziękuję 7 | Nie pokazuj ponownie 8 | Brak uprawnienia 9 | Włącz uprawnienie „%1$s” w ustawieniach systemu 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-pl/strings_imported_other1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Wprowadzenie 4 | Podstawowe 5 | Zaawansowane 6 | Zgłoś problem 7 | Pomoc 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-pl/strings_preferences.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Obliczenia podczas wpisywania 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/values-pt-rBR/strings_converter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Tempo 4 | Quantidade de substância 5 | Corrente elétrica 6 | Comprimento 7 | Massa 8 | Temperatura 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-pt-rBR/strings_imported_other.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Avaliar o %1$s 4 | Se você gosta do %1$s, atribua a classificação de cinco estrelas no Google Play. 5 | Classificar agora 6 | Não, obrigado 7 | Não mostrar novamente 8 | Sem permissão 9 | Habilite a permissão de %1$s nas configurações do sistema 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-pt-rBR/strings_imported_other1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Introdução 4 | Básico 5 | Avançado 6 | Notificar um problema 7 | Ajuda 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-pt-rBR/strings_preferences.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Resultado é calculado durante a digitação 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/values-pt-rPT/strings_converter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Tempo 4 | Quantidade de substância 5 | Corrente elétrica 6 | Comprimento 7 | Massa 8 | Temperatura 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-pt-rPT/strings_imported_other.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Avalie %1$s 4 | Se gosta de %1$s, por favor avalie-nos com cinco estrelas na Google Play. 5 | Avaliar agora 6 | Não, obrigado 7 | Não mostrar novamente 8 | Sem permissão 9 | Por favor active as permissões de %1$s nas definiçõe de sistema 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-pt-rPT/strings_imported_other1.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/values-pt-rPT/strings_preferences.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | O resultado é calculado enquanto escreve 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/values-ru/strings_converter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Время 4 | Количество вещества 5 | Электрический ток 6 | Длина 7 | Масса 8 | Температура 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-ru/strings_imported_other.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Оцените %1$s 4 | Если вам нравится %1$s, отвлекитесь на минутку и поставьте нам 5 звездочек в Google Play. 5 | Оценить 6 | Нет, спасибо 7 | Не показывать снова 8 | Отсутствует разрешение 9 | В системных настройках разрешите приложению доступ к следующему компоненту:%1$s 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-ru/strings_imported_other1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Введение 4 | Основные 5 | Дополнительно 6 | Сообщить о проблеме 7 | Справка 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-ru/strings_preferences.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Результат вычисляется по мере ввода выражения 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/values-sw600dp/bools.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | true 4 | -------------------------------------------------------------------------------- /app/src/main/res/values-sw600dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 16dp 6 | 400dp 7 | 133dp 8 | 400dp 9 | 150dp 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/values-tr/strings_converter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Zaman 4 | Elektrik akımı 5 | Uzunluk 6 | Kütle 7 | Sıcaklık 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-tr/strings_imported_other.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | %1$s\'yi değerlendir 4 | %1$s\'yı sevdiyseniz, lütfen birkaç dakikanızı ayırın ve bize Google Play\'de beş yıldızlı bir puan verin. 5 | Hemen değerlendirin 6 | Hayır, teşekkürler 7 | Tekrar gösterme 8 | Eksik izin 9 | %1$s Sistem ayarlarından izini etkinleştir 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-tr/strings_imported_other1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Giriş 4 | Basit 5 | Gelişmiş 6 | Bir sorun bildir 7 | Yardım 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-tr/strings_preferences.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Sonuç yazarken hesaplanır 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/values-uk/strings_converter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Час 4 | Кількість речовини 5 | Електричний струм 6 | Довжина 7 | Маса 8 | Температура 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-uk/strings_imported_other.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Оцініть %1$s 4 | Якщо вам подобається %1$s, будь ласка, приділіть секундочку часу і поставте нам оцінку у п’ять зірочок на Google Play. 5 | Оцінити зараз 6 | Ні, дякую 7 | Більше не показувати 8 | Бракує дозволу 9 | Будь ласка, відкрийте доступ до додатка %1$s у параметрах системи 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-uk/strings_imported_other1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Вступ 4 | Основні 5 | Додатково 6 | Повідомити про ваду 7 | Довідка 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-uk/strings_microsoft.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | "Оформлення" 4 | "Формат числа" 5 | "Його мова відповідає мові системи." 6 | "Формат даних не підтримується." 7 | "Кути" 8 | "Ім'я містить неприпустимі символи." 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-uk/strings_preferences.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Результат обчислюється під час набору виразу 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/values-v11/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/values-v14/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/values-v21/theme_material.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values-v21/theme_material_light.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-vi/strings_converter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Thời gian 4 | Dòng điện 5 | Chiều dài 6 | Khối lượng 7 | Nhiệt độ 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-vi/strings_imported_other.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Xếp hạng %1$s 4 | Nếu bạn thích %1$s, vui lòng dành thời gian và xếp hạng chúng tôi 5 sao trong Google Play. 5 | Xếp hạng nó bây giờ 6 | Không, cảm ơn 7 | Không hiển thị lại 8 | Thiếu quyền 9 | Vui lòng cho bật %1$s Quyền trong thiết lập hệ thống 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-vi/strings_imported_other1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Giới thiệu 4 | Cơ bản 5 | Nâng cao 6 | Báo cáo lỗi 7 | Trợ giúp 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-vi/strings_microsoft.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | "Giao diện" 4 | "Định dạng &amp;số" 5 | "Định dạng dữ liệu không được hỗ trợ." 6 | "Tên chứa những ký tự không hợp lệ." 7 | -------------------------------------------------------------------------------- /app/src/main/res/values-vi/strings_preferences.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Kết quả được tính trong khi gõ 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/values-w820dp-v13/values.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 64dp 4 | -------------------------------------------------------------------------------- /app/src/main/res/values-zh-rCN/strings_converter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 时间 4 | 物质的量 5 | 电流 6 | 长度 7 | 质量 8 | 温度 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-zh-rCN/strings_imported_other.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 给 %1$s 评分 4 | 如果您喜欢 %1$s,请抽出片刻在 Google Play 中给我们五星评分。 5 | 立即给它评分 6 | 忍泪拒绝 7 | 不再显示 8 | 缺失许可 9 | 请在系统设置中启用 %1$s 许可 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-zh-rCN/strings_imported_other1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 简介 4 | 基本 5 | 高级 6 | 报告问题 7 | 帮助 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-zh-rCN/strings_preferences.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 在输入时计算结果 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/values-zh-rTW/strings_converter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 时间 4 | 物质的量 5 | 电流 6 | 长度 7 | 质量 8 | 温度 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-zh-rTW/strings_imported_other.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 為 %1$s 評分 4 | 如果你喜歡 %1$s,請花點時間在 Google Play 上給我們五顆星評價。 5 | 現在就去評分 6 | 不用了,謝謝 7 | 不要再顯示 8 | 缺少權限 9 | 請在系統設定中啟用 %1$s 權限 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-zh-rTW/strings_imported_other1.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/values-zh-rTW/strings_microsoft.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | "外觀" 4 | "數字格式" 5 | "系統語言" 6 | "格式" 7 | "角度" 8 | "範例" 9 | "參數" 10 | "重複的參數: '%1$s'。" 11 | "名稱包含無效字元。" 12 | "欄位不可空白" 13 | -------------------------------------------------------------------------------- /app/src/main/res/values-zh-rTW/strings_preferences.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 輸入時同時計算結果 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/values/admob.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | ca-app-pub-9736972200639245/2739504202 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/values/attrs_dsb.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values/attrs_lcp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/values/bools.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | false 4 | -------------------------------------------------------------------------------- /app/src/main/res/values/strings_converter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Time 4 | Amount of substance 5 | Electric current 6 | Length 7 | Mass 8 | Temperature 9 | -------------------------------------------------------------------------------- /app/src/main/res/values/strings_imported_other.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Rate %1$s 4 | If you enjoy %1$s, please take a moment and give us a five-star rating in Google Play. 5 | Rate it now 6 | No, thanks 7 | Do not show again 8 | Missing permission 9 | Please enable %1$s permission in system settings 10 | -------------------------------------------------------------------------------- /app/src/main/res/values/strings_imported_other1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Introduction 4 | Basic 5 | Advanced 6 | Report a problem 7 | Help 8 | -------------------------------------------------------------------------------- /app/src/main/res/values/strings_preferences.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Result is calculated while typing 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/resources/org/solovyev/android/calculator/messages.properties: -------------------------------------------------------------------------------- 1 | #X-Generator: crowdin.com 2 | #X-Generator: crowdin.net 3 | msg_1=Arithmetic error occurred\: {0} 4 | msg_2=Expression is too complex 5 | msg_3=Execution time is too long - check the expression 6 | msg_4=Evaluation was cancelled 7 | msg_5=No parameters are specified for function\: {0} 8 | msg_6=Infinite loop is detected in expression 9 | msg_7=Some user data could not be loaded. Please contact developers.\n\nUnable to load\:\n{0} 10 | 11 | syntax_error=Error 12 | result_copied=Result has been copied to the clipboard\! 13 | text_copied=Text has been copied to the clipboard\! 14 | ans_description=Last calculated value 15 | 16 | 17 | -------------------------------------------------------------------------------- /app/src/main/resources/org/solovyev/android/calculator/messages_de.properties: -------------------------------------------------------------------------------- 1 | #X-Generator: crowdin.com 2 | #X-Generator: crowdin.net 3 | msg_1=Rechenfehler aufgetreten\: {0} 4 | msg_2=Ausdruck zu komplex 5 | msg_3=Zeit\u00fcberschreitung bei Ausf\u00fchrung - Ausdruck \u00fcberpr\u00fcfen 6 | msg_4=Auswertung wurde abgebrochen 7 | msg_5=Parameter f\u00fcr die Funktion fehlen\: {0} 8 | msg_6=Im Ausdruck wurde eine Endlosschleife entdeckt 9 | msg_7=Einige Benutzerdaten konnten nicht geladen werden. Wenden Sie sich bitte mit den untenstehenden Informationen an den Entwickler.\n\nKann nicht geladen werden\: {0} 10 | 11 | syntax_error=Fehler 12 | result_copied=Ergebnis wurde in die Zwischenablage kopiert\! 13 | text_copied=Text wurde in die Zwischenablage kopiert\! 14 | ans_description=Letzter berechneter Wert 15 | 16 | 17 | -------------------------------------------------------------------------------- /app/src/main/resources/org/solovyev/android/calculator/messages_fi.properties: -------------------------------------------------------------------------------- 1 | #X-Generator: crowdin.com 2 | #X-Generator: crowdin.net 3 | msg_1=Tapahtui aritmeettinen virhe\: {0} 4 | msg_2=Lauseke on liian monimutkainen 5 | msg_3=Suoritusaika on liian pitk\u00e4 - tarkista lauseke 6 | msg_4=Arviointi peruutettiin 7 | msg_5=Toiminnolle ei ole m\u00e4\u00e4ritetty parametreja\: {0} 8 | msg_6=Lausekkeessa havaittiin loputon silmukka 9 | msg_7=Joitakin k\u00e4ytt\u00e4j\u00e4tietoja ei voitu ladata. Ota yhteytt\u00e4 kehitt\u00e4jiin. \n\nLatausta ei voida suorittaa\:\n{0} 10 | 11 | syntax_error=Virhe 12 | result_copied=Tulos on kopioitu leikep\u00f6yd\u00e4lle\! 13 | text_copied=Teksti on kopioitu leikep\u00f6yd\u00e4lle\! 14 | ans_description=Viimeinen laskettu arvo 15 | 16 | 17 | -------------------------------------------------------------------------------- /app/src/main/resources/org/solovyev/android/calculator/messages_it.properties: -------------------------------------------------------------------------------- 1 | #X-Generator: crowdin.com 2 | #X-Generator: crowdin.net 3 | msg_1=Errore aritmetico\: {0} 4 | msg_2=L'espressione \u00e8 troppo complessa 5 | msg_3=Tempo di esecuzione troppo lungo - controlla l'espressione 6 | msg_4=La valutazione \u00e8 stata annullata 7 | msg_5=Nessun parametro specificato per la funzione\: {0} 8 | msg_6=\u00c8 stato rilevato un ciclo infinito nell'espressione 9 | msg_7=Alcuni dati dell'utente non hanno potuto essere caricati. Si prega di contattare gli sviluppatori.\n\nImpossibile caricare\: \n{0} 10 | 11 | syntax_error=Errore 12 | result_copied=Il risultato \u00e8 stato copiato negli appunti\! 13 | text_copied=Il testo \u00e8 stato copiato negli appunti\! 14 | ans_description=Ultimo valore calcolato 15 | 16 | 17 | -------------------------------------------------------------------------------- /app/src/main/resources/org/solovyev/android/calculator/messages_nl.properties: -------------------------------------------------------------------------------- 1 | #X-Generator: crowdin.com 2 | #X-Generator: crowdin.net 3 | msg_1=Rekenkundige fout opgetreden\: {0} 4 | msg_2=Expressie is te complex 5 | msg_3=Uitvoeringstermijn is te lang - Controleer de expressie 6 | msg_4=Evaluatie is geannuleerd 7 | msg_5=Er zijn geen parameters opgegeven voor de functie\: {0} 8 | msg_6=Oneindige lus wordt gedetecteerd in expressie 9 | msg_7=Sommige gebruikersdata kon niet worden geladen. Neem contact op met de ontwikkelaars. Niet geladen\: {0} 10 | 11 | syntax_error=Fout 12 | result_copied=Resultaat is gekopieerd naar het klembord\! 13 | text_copied=Tekst is naar het klembord gekopieerd\! 14 | ans_description=Laatst berekende waarde 15 | 16 | 17 | -------------------------------------------------------------------------------- /app/src/main/resources/org/solovyev/android/calculator/messages_pt_PT.properties: -------------------------------------------------------------------------------- 1 | #X-Generator: crowdin.com 2 | #X-Generator: crowdin.net 3 | msg_1=Ocorreu um erro aritm\u00e9tico\: {0} 4 | msg_2=A express\u00e3o \u00e9 demasiado complexa 5 | msg_3=Demasiado tempo de execu\u00e7\u00e3o - verifique a express\u00e3o 6 | msg_4=A avalia\u00e7\u00e3o foi cancelada 7 | msg_5=N\u00e3o foram especificados par\u00e2metros para a fun\u00e7\u00e3o\: {0} 8 | msg_6=Detectado ciclo infinito na express\u00e3o 9 | msg_7=Alguns dados n\u00e3o puderam ser carregados. Por favor contacte os desenvolvedores. \n\nIncapaz de carregar\:\n{0} 10 | 11 | syntax_error=Erro 12 | result_copied=O resultado foi copiado para o clipboard\! 13 | text_copied=O texto foi copiado para o clipboard\! 14 | ans_description=\u00daltimo valor calculado 15 | 16 | 17 | -------------------------------------------------------------------------------- /app/src/main/resources/org/solovyev/android/calculator/messages_zh.properties: -------------------------------------------------------------------------------- 1 | #X-Generator: crowdin.net 2 | msg_1=\u8A08\u7B97\u932F\u8AA4\: {0} 3 | msg_2=\u8A08\u7B97\u5F0F\u904E\u65BC\u8907\u96DC 4 | msg_3=\u57F7\u884C\u903E\u6642 - \u8ACB\u6AA2\u67E5\u8A08\u7B97\u5F0F 5 | msg_4=\u8A08\u7B97\u5DF2\u53D6\u6D88 6 | msg_5=\u672A\u6307\u5B9A\u51FD\u6578\u53C3\u6578\: {0} 7 | msg_6=\u8A08\u7B97\u5F0F\u5305\u542B\u7121\u7AAE\u8FF4\u5708 8 | msg_7=Some user data could not be loaded. Please contact developers with information below.\n\nUnable to load\:\n{0} 9 | 10 | syntax_error=\u932F\u8AA4 11 | result_copied=\u7B54\u6848\u5DF2\u8907\u88FD\u5230\u526A\u8CBC\u7C3F! -------------------------------------------------------------------------------- /app/src/test/java/org/solovyev/android/calculator/converter/ConverterTest.java: -------------------------------------------------------------------------------- 1 | package org.solovyev.android.calculator.converter; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.assertEquals; 6 | 7 | public class ConverterTest { 8 | 9 | @Test(expected = NumberFormatException.class) 10 | public void testShouldNotParseInvalidDecNumber() throws Exception { 11 | Converter.parse("1A", 10); 12 | } 13 | 14 | @Test 15 | public void testShouldParseValidHexNumber() throws Exception { 16 | assertEquals(26, Converter.parse("1A", 16).toLong()); 17 | } 18 | } -------------------------------------------------------------------------------- /dragbutton/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /dragbutton/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.library' 2 | 3 | android { 4 | compileSdkVersion versions.sdk.compile 5 | defaultConfig { 6 | minSdkVersion versions.sdk.min 7 | targetSdkVersion versions.sdk.target 8 | } 9 | buildTypes { 10 | release { 11 | minifyEnabled false 12 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 13 | } 14 | } 15 | namespace 'org.solovyev.android.views.dragbutton' 16 | } 17 | 18 | dependencies { 19 | implementation "androidx.annotation:annotation:1.8.2" 20 | implementation 'com.google.android.material:material:1.12.0' 21 | } 22 | -------------------------------------------------------------------------------- /dragbutton/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /opt/android/sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /dragbutton/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /dragbutton/src/main/java/org/solovyev/android/views/dragbutton/DirectionDragView.java: -------------------------------------------------------------------------------- 1 | package org.solovyev.android.views.dragbutton; 2 | 3 | 4 | import androidx.annotation.NonNull; 5 | 6 | public interface DirectionDragView extends DragView { 7 | @NonNull 8 | DirectionText getText(@NonNull DragDirection direction); 9 | } 10 | -------------------------------------------------------------------------------- /dragbutton/src/main/java/org/solovyev/android/views/dragbutton/DragEvent.java: -------------------------------------------------------------------------------- 1 | package org.solovyev.android.views.dragbutton; 2 | 3 | import android.graphics.PointF; 4 | import androidx.annotation.NonNull; 5 | import android.view.MotionEvent; 6 | 7 | public class DragEvent { 8 | 9 | @NonNull 10 | public final PointF start; 11 | 12 | @NonNull 13 | public final PointF end; 14 | 15 | @NonNull 16 | public final MotionEvent motionEvent; 17 | 18 | public DragEvent(@NonNull PointF start, @NonNull MotionEvent motionEvent) { 19 | this.start = start; 20 | this.end = new PointF(motionEvent.getX(), motionEvent.getY()); 21 | this.motionEvent = motionEvent; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /dragbutton/src/main/java/org/solovyev/android/views/dragbutton/DragListener.java: -------------------------------------------------------------------------------- 1 | package org.solovyev.android.views.dragbutton; 2 | 3 | import androidx.annotation.NonNull; 4 | import android.view.View; 5 | 6 | import java.util.EventListener; 7 | 8 | 9 | public interface DragListener extends EventListener { 10 | boolean onDrag(@NonNull View view, @NonNull DragEvent event); 11 | } 12 | -------------------------------------------------------------------------------- /dragbutton/src/main/java/org/solovyev/android/views/dragbutton/DragView.java: -------------------------------------------------------------------------------- 1 | package org.solovyev.android.views.dragbutton; 2 | 3 | import androidx.annotation.Nullable; 4 | 5 | public interface DragView { 6 | int getId(); 7 | void setOnDragListener(@Nullable DragListener listener); 8 | void setVibrateOnDrag(boolean vibrateOnDrag); 9 | void setHighContrast(boolean highContrast); 10 | } 11 | -------------------------------------------------------------------------------- /dragbutton/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #424242 4 | #ffffffff 5 | -------------------------------------------------------------------------------- /dragbutton/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 15dp 4 | 2dp 5 | 9dp 6 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/serso/android-calculatorpp/8f9c97032b44152b047653cd0728107de4e6a8da/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-8.7-all.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /jscl/src/main/java/jscl/CustomFunctionCalculationException.java: -------------------------------------------------------------------------------- 1 | package jscl; 2 | 3 | import jscl.math.function.CustomFunction; 4 | import jscl.text.msg.Messages; 5 | import org.solovyev.common.msg.Message; 6 | 7 | import javax.annotation.Nonnull; 8 | 9 | public class CustomFunctionCalculationException extends JsclArithmeticException { 10 | 11 | @Nonnull 12 | private final Message causeMessage; 13 | 14 | public CustomFunctionCalculationException(@Nonnull CustomFunction function, @Nonnull Message causeMessage) { 15 | super(Messages.msg_19, function.getName(), causeMessage); 16 | this.causeMessage = causeMessage; 17 | } 18 | 19 | @Nonnull 20 | public Message getCauseMessage() { 21 | return causeMessage; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /jscl/src/main/java/jscl/NotSupportedException.java: -------------------------------------------------------------------------------- 1 | package jscl; 2 | 3 | import javax.annotation.Nonnull; 4 | 5 | public class NotSupportedException extends JsclArithmeticException { 6 | 7 | public NotSupportedException(@Nonnull String messageCode, Object... parameters) { 8 | super(messageCode, parameters); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /jscl/src/main/java/jscl/math/Arithmetic.java: -------------------------------------------------------------------------------- 1 | package jscl.math; 2 | 3 | import javax.annotation.Nonnull; 4 | 5 | public interface Arithmetic> { 6 | 7 | @Nonnull 8 | T add(@Nonnull T that); 9 | 10 | @Nonnull 11 | T subtract(@Nonnull T that); 12 | 13 | @Nonnull 14 | T multiply(@Nonnull T that); 15 | 16 | @Nonnull 17 | T divide(@Nonnull T that) throws NotDivisibleException; 18 | 19 | } 20 | -------------------------------------------------------------------------------- /jscl/src/main/java/jscl/math/Field.java: -------------------------------------------------------------------------------- 1 | package jscl.math; 2 | 3 | public interface Field { 4 | } 5 | -------------------------------------------------------------------------------- /jscl/src/main/java/jscl/math/JsclBoolean.java: -------------------------------------------------------------------------------- 1 | package jscl.math; 2 | 3 | public class JsclBoolean extends ModularInteger { 4 | public static final JsclBoolean factory = new JsclBoolean(0); 5 | private static final JsclBoolean zero = factory; 6 | private static final JsclBoolean one = new JsclBoolean(1); 7 | 8 | public JsclBoolean(long content) { 9 | super(content, 2); 10 | } 11 | 12 | protected ModularInteger newinstance(long content) { 13 | return content % 2 == 0 ? zero : one; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /jscl/src/main/java/jscl/math/MatrixVariable.java: -------------------------------------------------------------------------------- 1 | package jscl.math; 2 | 3 | import javax.annotation.Nonnull; 4 | 5 | public class MatrixVariable extends GenericVariable { 6 | public MatrixVariable(Generic generic) { 7 | super(generic); 8 | } 9 | 10 | @Nonnull 11 | public Variable newInstance() { 12 | return new MatrixVariable(null); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /jscl/src/main/java/jscl/math/NotDivisibleException.java: -------------------------------------------------------------------------------- 1 | package jscl.math; 2 | 3 | public class NotDivisibleException extends ArithmeticException { 4 | 5 | public NotDivisibleException() { 6 | } 7 | 8 | public NotDivisibleException(String s) { 9 | super(s); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /jscl/src/main/java/jscl/math/NotDoubleException.java: -------------------------------------------------------------------------------- 1 | package jscl.math; 2 | 3 | import javax.annotation.Nonnull; 4 | 5 | public class NotDoubleException extends ArithmeticException { 6 | 7 | @SuppressWarnings("ThrowableInstanceNeverThrown") 8 | private static final NotDoubleException INSTANCE = new NotDoubleException(); 9 | 10 | private NotDoubleException() { 11 | super("Not double!"); 12 | } 13 | 14 | @Nonnull 15 | public static NotDoubleException get() { 16 | return INSTANCE; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /jscl/src/main/java/jscl/math/NotExpressionException.java: -------------------------------------------------------------------------------- 1 | package jscl.math; 2 | 3 | public class NotExpressionException extends ArithmeticException { 4 | public NotExpressionException() { 5 | } 6 | 7 | public NotExpressionException(String s) { 8 | super(s); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /jscl/src/main/java/jscl/math/NotIntegerException.java: -------------------------------------------------------------------------------- 1 | package jscl.math; 2 | 3 | import javax.annotation.Nonnull; 4 | 5 | public class NotIntegerException extends ArithmeticException { 6 | 7 | @SuppressWarnings("ThrowableInstanceNeverThrown") 8 | private static final NotIntegerException INSTANCE = new NotIntegerException(); 9 | 10 | private NotIntegerException() { 11 | super("Not integer!"); 12 | } 13 | 14 | @Nonnull 15 | public static NotIntegerException get() { 16 | return INSTANCE; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /jscl/src/main/java/jscl/math/NotIntegrableException.java: -------------------------------------------------------------------------------- 1 | package jscl.math; 2 | 3 | import jscl.JsclArithmeticException; 4 | import jscl.text.msg.Messages; 5 | 6 | import javax.annotation.Nonnull; 7 | 8 | public class NotIntegrableException extends JsclArithmeticException { 9 | 10 | public NotIntegrableException(@Nonnull String messageCode, Object... parameters) { 11 | super(messageCode, parameters); 12 | } 13 | 14 | public NotIntegrableException(@Nonnull Expression e) { 15 | this(Messages.msg_21, e.toString()); 16 | } 17 | 18 | public NotIntegrableException(@Nonnull Variable v) { 19 | this(Messages.msg_21, v.getName()); 20 | } 21 | 22 | public NotIntegrableException() { 23 | this(Messages.msg_22); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /jscl/src/main/java/jscl/math/NotPowerException.java: -------------------------------------------------------------------------------- 1 | package jscl.math; 2 | 3 | public class NotPowerException extends ArithmeticException { 4 | public NotPowerException() { 5 | } 6 | 7 | public NotPowerException(String s) { 8 | super(s); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /jscl/src/main/java/jscl/math/NotProductException.java: -------------------------------------------------------------------------------- 1 | package jscl.math; 2 | 3 | public class NotProductException extends ArithmeticException { 4 | public NotProductException() { 5 | } 6 | 7 | public NotProductException(String s) { 8 | super(s); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /jscl/src/main/java/jscl/math/NotVariableException.java: -------------------------------------------------------------------------------- 1 | package jscl.math; 2 | 3 | public class NotVariableException extends ArithmeticException { 4 | public NotVariableException() { 5 | } 6 | 7 | public NotVariableException(String s) { 8 | super(s); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /jscl/src/main/java/jscl/math/Power.java: -------------------------------------------------------------------------------- 1 | package jscl.math; 2 | 3 | public class Power { 4 | final Generic value; 5 | final int exponent; 6 | 7 | public Power(Generic value, int exponent) { 8 | this.value = value; 9 | this.exponent = exponent; 10 | } 11 | 12 | public Generic value() { 13 | return value(false); 14 | } 15 | 16 | public Generic value(boolean content) { 17 | return content ? GenericVariable.content(value) : value; 18 | } 19 | 20 | public int exponent() { 21 | return exponent; 22 | } 23 | 24 | public String toString() { 25 | return "(" + value + ", " + exponent + ")"; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /jscl/src/main/java/jscl/math/TimeDependent.java: -------------------------------------------------------------------------------- 1 | package jscl.math; 2 | 3 | /** 4 | * User: serso 5 | * Date: 12/26/11 6 | * Time: 10:23 AM 7 | */ 8 | public interface TimeDependent { 9 | } 10 | -------------------------------------------------------------------------------- /jscl/src/main/java/jscl/math/VectorVariable.java: -------------------------------------------------------------------------------- 1 | package jscl.math; 2 | 3 | import javax.annotation.Nonnull; 4 | 5 | public class VectorVariable extends GenericVariable { 6 | public VectorVariable(Generic generic) { 7 | super(generic); 8 | } 9 | 10 | @Nonnull 11 | public Variable newInstance() { 12 | return new VectorVariable(null); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /jscl/src/main/java/jscl/math/function/ArcTrigonometric.java: -------------------------------------------------------------------------------- 1 | package jscl.math.function; 2 | 3 | import jscl.math.Generic; 4 | import jscl.math.NotIntegrableException; 5 | 6 | public abstract class ArcTrigonometric extends Function { 7 | 8 | public ArcTrigonometric(String name, Generic parameter[]) { 9 | super(name, parameter); 10 | } 11 | 12 | public Generic antiDerivative(int n) throws NotIntegrableException { 13 | throw new NotIntegrableException(this); 14 | } 15 | 16 | public Generic selfSimplify() { 17 | return selfExpand(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /jscl/src/main/java/jscl/math/function/IConstant.java: -------------------------------------------------------------------------------- 1 | package jscl.math.function; 2 | 3 | import org.solovyev.common.math.MathEntity; 4 | 5 | import javax.annotation.Nonnull; 6 | import javax.annotation.Nullable; 7 | 8 | /** 9 | * User: serso 10 | * Date: 11/10/11 11 | * Time: 6:01 PM 12 | */ 13 | public interface IConstant extends MathEntity { 14 | 15 | @Nonnull 16 | Constant getConstant(); 17 | 18 | @Nullable 19 | String getDescription(); 20 | 21 | boolean isDefined(); 22 | 23 | @Nullable 24 | String getValue(); 25 | 26 | @Nullable 27 | Double getDoubleValue(); 28 | 29 | @Nonnull 30 | String toJava(); 31 | } 32 | -------------------------------------------------------------------------------- /jscl/src/main/java/jscl/math/function/IFunction.java: -------------------------------------------------------------------------------- 1 | package jscl.math.function; 2 | 3 | import org.solovyev.common.math.MathEntity; 4 | 5 | import javax.annotation.Nonnull; 6 | import javax.annotation.Nullable; 7 | import java.util.List; 8 | 9 | public interface IFunction extends MathEntity { 10 | 11 | @Nonnull 12 | String getContent(); 13 | 14 | @Nullable 15 | String getDescription(); 16 | 17 | String toJava(); 18 | 19 | @Nonnull 20 | List getParameterNames(); 21 | } 22 | -------------------------------------------------------------------------------- /jscl/src/main/java/jscl/math/function/NotRootException.java: -------------------------------------------------------------------------------- 1 | package jscl.math.function; 2 | 3 | public class NotRootException extends ArithmeticException { 4 | public NotRootException() { 5 | } 6 | 7 | public NotRootException(String s) { 8 | super(s); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /jscl/src/main/java/jscl/math/function/PiConstant.java: -------------------------------------------------------------------------------- 1 | package jscl.math.function; 2 | 3 | import jscl.AngleUnit; 4 | import jscl.JsclMathEngine; 5 | 6 | /** 7 | * User: serso 8 | * Date: 11/29/11 9 | * Time: 11:28 AM 10 | */ 11 | public class PiConstant extends ExtendedConstant { 12 | 13 | public PiConstant() { 14 | super(Constants.PI, Math.PI, "JsclDouble.valueOf(Math.PI)"); 15 | } 16 | 17 | @Override 18 | public Double getDoubleValue() { 19 | Double result = null; 20 | 21 | try { 22 | result = AngleUnit.rad.transform(JsclMathEngine.getInstance().getAngleUnits(), Double.valueOf(getValue())); 23 | } catch (NumberFormatException e) { 24 | // do nothing - string is not a double 25 | } 26 | 27 | return result; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /jscl/src/main/java/jscl/math/function/Rad.java: -------------------------------------------------------------------------------- 1 | package jscl.math.function; 2 | 3 | import jscl.AngleUnit; 4 | import jscl.math.Generic; 5 | import jscl.math.Variable; 6 | 7 | import javax.annotation.Nonnull; 8 | 9 | /** 10 | * User: serso 11 | * Date: 11/14/11 12 | * Time: 1:40 PM 13 | */ 14 | public class Rad extends AbstractDms { 15 | 16 | public Rad(Generic degrees, Generic minutes, Generic seconds) { 17 | super("rad", degrees, minutes, seconds); 18 | } 19 | 20 | @Override 21 | public Generic selfNumeric() { 22 | return AngleUnit.deg.transform(AngleUnit.rad, super.selfNumeric()); 23 | } 24 | 25 | @Nonnull 26 | @Override 27 | public Variable newInstance() { 28 | return new Rad(null, null, null); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /jscl/src/main/java/jscl/math/operator/stat/AbstractStatFunction.java: -------------------------------------------------------------------------------- 1 | package jscl.math.operator.stat; 2 | 3 | import jscl.math.Generic; 4 | import jscl.math.operator.Operator; 5 | 6 | /** 7 | * User: serso 8 | * Date: 1/15/12 9 | * Time: 4:59 PM 10 | */ 11 | public abstract class AbstractStatFunction extends Operator { 12 | 13 | protected AbstractStatFunction(String name, Generic[] parameters) { 14 | super(name, parameters); 15 | } 16 | 17 | @Override 18 | public final Generic numeric() { 19 | for (int i = 0; i < parameters.length; i++) { 20 | parameters[i] = parameters[i].expand(); 21 | } 22 | 23 | return selfNumeric(); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /jscl/src/main/java/jscl/math/polynomial/DegreeOrdering.java: -------------------------------------------------------------------------------- 1 | package jscl.math.polynomial; 2 | 3 | public interface DegreeOrdering { 4 | } 5 | -------------------------------------------------------------------------------- /jscl/src/main/java/jscl/math/polynomial/Ordering.java: -------------------------------------------------------------------------------- 1 | package jscl.math.polynomial; 2 | 3 | import java.util.Comparator; 4 | 5 | public abstract class Ordering implements Comparator { 6 | public abstract int compare(Monomial m1, Monomial m2); 7 | 8 | public int compare(Object o1, Object o2) { 9 | return compare((Monomial) o1, (Monomial) o2); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /jscl/src/main/java/jscl/math/polynomial/groebner/Natural.java: -------------------------------------------------------------------------------- 1 | package jscl.math.polynomial.groebner; 2 | 3 | import java.util.Comparator; 4 | 5 | class Natural implements Comparator { 6 | public static final Comparator comparator = new Natural(); 7 | 8 | private Natural() { 9 | } 10 | 11 | public int compare(Pair pa1, Pair pa2) { 12 | return pa1.compareTo(pa2); 13 | } 14 | 15 | public int compare(Object o1, Object o2) { 16 | return compare((Pair) o1, (Pair) o2); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /jscl/src/main/java/jscl/math/polynomial/groebner/Sugar.java: -------------------------------------------------------------------------------- 1 | package jscl.math.polynomial.groebner; 2 | 3 | import java.util.Comparator; 4 | 5 | class Sugar implements Comparator { 6 | public static final Comparator comparator = new Sugar(); 7 | 8 | private Sugar() { 9 | } 10 | 11 | public int compare(Pair pa1, Pair pa2) { 12 | if (pa1.sugar < pa2.sugar) return -1; 13 | else if (pa1.sugar > pa2.sugar) return 1; 14 | else return pa1.compareTo(pa2); 15 | } 16 | 17 | public int compare(Object o1, Object o2) { 18 | return compare((Pair) o1, (Pair) o2); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /jscl/src/main/java/jscl/text/AbstractConverter.java: -------------------------------------------------------------------------------- 1 | package jscl.text; 2 | 3 | import javax.annotation.Nonnull; 4 | 5 | abstract class AbstractConverter implements Parser { 6 | @Nonnull 7 | protected final Parser parser; 8 | 9 | AbstractConverter(@Nonnull Parser parser) { 10 | this.parser = parser; 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /jscl/src/main/java/jscl/text/CommaAndExpression.java: -------------------------------------------------------------------------------- 1 | package jscl.text; 2 | 3 | import jscl.math.Generic; 4 | 5 | import javax.annotation.Nonnull; 6 | import javax.annotation.Nullable; 7 | 8 | public class CommaAndExpression implements Parser { 9 | 10 | public static final Parser parser = new CommaAndExpression(); 11 | 12 | private CommaAndExpression() { 13 | } 14 | 15 | public Generic parse(@Nonnull Parameters p, @Nullable Generic previousSumElement) throws ParseException { 16 | int pos0 = p.position.intValue(); 17 | 18 | ParserUtils.skipWhitespaces(p); 19 | 20 | ParserUtils.tryToParse(p, pos0, ','); 21 | 22 | return ParserUtils.parseWithRollback(ExpressionParser.parser, pos0, previousSumElement, p); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /jscl/src/main/java/jscl/text/DoubleVariableParser.java: -------------------------------------------------------------------------------- 1 | package jscl.text; 2 | 3 | import jscl.math.DoubleVariable; 4 | import jscl.math.Generic; 5 | import jscl.math.Variable; 6 | 7 | import javax.annotation.Nonnull; 8 | 9 | public class DoubleVariableParser implements Parser { 10 | 11 | public static final Parser parser = new DoubleVariableParser(); 12 | 13 | private DoubleVariableParser() { 14 | } 15 | 16 | @Nonnull 17 | public Variable parse(@Nonnull Parameters p, Generic previousSumElement) throws ParseException { 18 | return new DoubleVariable(DoubleParser.parser.parse(p, previousSumElement)); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /jscl/src/main/java/jscl/text/Factor.java: -------------------------------------------------------------------------------- 1 | package jscl.text; 2 | 3 | import jscl.math.Generic; 4 | 5 | import javax.annotation.Nonnull; 6 | import javax.annotation.Nullable; 7 | 8 | /** 9 | * User: serso 10 | * Date: 10/27/11 11 | * Time: 2:45 PM 12 | */ 13 | class Factor implements Parser { 14 | 15 | public static final Parser parser = new Factor(); 16 | 17 | private Factor() { 18 | } 19 | 20 | public Generic parse(@Nonnull Parameters p, @Nullable Generic previousSumElement) throws ParseException { 21 | final boolean minus = MinusParser.parser.parse(p, previousSumElement); 22 | 23 | final Generic result = (Generic) UnsignedFactor.parser.parse(p, previousSumElement); 24 | 25 | return minus ? result.negate() : result; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /jscl/src/main/java/jscl/text/MatrixVariableParser.java: -------------------------------------------------------------------------------- 1 | package jscl.text; 2 | 3 | import jscl.math.Generic; 4 | import jscl.math.MatrixVariable; 5 | import jscl.math.Variable; 6 | 7 | import javax.annotation.Nonnull; 8 | 9 | class MatrixVariableParser implements Parser { 10 | public static final Parser parser = new MatrixVariableParser(); 11 | 12 | private MatrixVariableParser() { 13 | } 14 | 15 | public Variable parse(@Nonnull Parameters p, Generic previousSumElement) throws ParseException { 16 | return new MatrixVariable(MatrixParser.parser.parse(p, previousSumElement)); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /jscl/src/main/java/jscl/text/ParseInterruptedException.java: -------------------------------------------------------------------------------- 1 | package jscl.text; 2 | 3 | /** 4 | * User: serso 5 | * Date: 10/27/11 6 | * Time: 11:39 PM 7 | */ 8 | public class ParseInterruptedException extends RuntimeException { 9 | 10 | public ParseInterruptedException() { 11 | } 12 | 13 | public ParseInterruptedException(String message) { 14 | super(message); 15 | } 16 | 17 | public ParseInterruptedException(String message, Throwable cause) { 18 | super(message, cause); 19 | } 20 | 21 | public ParseInterruptedException(Throwable cause) { 22 | super(cause); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /jscl/src/main/java/jscl/text/UnsignedExponent.java: -------------------------------------------------------------------------------- 1 | package jscl.text; 2 | 3 | import jscl.math.Generic; 4 | 5 | import javax.annotation.Nonnull; 6 | 7 | /** 8 | * User: serso 9 | * Date: 10/27/11 10 | * Time: 2:45 PM 11 | */ 12 | class UnsignedExponent implements Parser { 13 | 14 | public static final Parser parser = new UnsignedExponent(); 15 | 16 | private UnsignedExponent() { 17 | } 18 | 19 | public Generic parse(@Nonnull Parameters p, final Generic previousSumElement) throws ParseException { 20 | final Generic content = PrimaryExpressionParser.parser.parse(p, previousSumElement); 21 | return new PostfixFunctionsParser(content).parse(p, previousSumElement); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /jscl/src/main/java/jscl/text/VariableConverter.java: -------------------------------------------------------------------------------- 1 | package jscl.text; 2 | 3 | import jscl.math.Generic; 4 | import jscl.math.Variable; 5 | 6 | import javax.annotation.Nonnull; 7 | 8 | /** 9 | * User: serso 10 | * Date: 10/27/11 11 | * Time: 3:21 PM 12 | */ 13 | class VariableConverter extends AbstractConverter { 14 | 15 | VariableConverter(@Nonnull Parser variableParser) { 16 | super(variableParser); 17 | } 18 | 19 | @Override 20 | public Generic parse(@Nonnull Parameters p, Generic previousSumElement) throws ParseException { 21 | return this.parser.parse(p, previousSumElement).expressionValue(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /jscl/src/main/java/jscl/text/VectorVariableParser.java: -------------------------------------------------------------------------------- 1 | package jscl.text; 2 | 3 | import jscl.math.Generic; 4 | import jscl.math.Variable; 5 | import jscl.math.VectorVariable; 6 | 7 | import javax.annotation.Nonnull; 8 | 9 | public class VectorVariableParser implements Parser { 10 | public static final Parser parser = new VectorVariableParser(); 11 | 12 | private VectorVariableParser() { 13 | } 14 | 15 | public Variable parse(@Nonnull Parameters p, Generic previousSumElement) throws ParseException { 16 | return new VectorVariable(VectorParser.parser.parse(p, previousSumElement)); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /jscl/src/test/java/jscl/math/JsclVectorTest.java: -------------------------------------------------------------------------------- 1 | package jscl.math; 2 | 3 | import jscl.JsclMathEngine; 4 | import jscl.MathEngine; 5 | import org.junit.Assert; 6 | import org.junit.Test; 7 | 8 | /** 9 | * User: serso 10 | * Date: 12/26/11 11 | * Time: 9:52 AM 12 | */ 13 | public class JsclVectorTest { 14 | 15 | @Test 16 | public void testVector() throws Exception { 17 | MathEngine me = JsclMathEngine.getInstance(); 18 | Assert.assertEquals("[1, 0, 0, 1]", me.evaluate("[1, 0, 0, 1]")); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /jscl/src/test/java/jscl/math/function/DmsTest.java: -------------------------------------------------------------------------------- 1 | package jscl.math.function; 2 | 3 | import jscl.JsclMathEngine; 4 | import junit.framework.Assert; 5 | import org.junit.Test; 6 | 7 | /** 8 | * User: serso 9 | * Date: 11/14/11 10 | * Time: 1:46 PM 11 | */ 12 | public class DmsTest { 13 | @Test 14 | public void testFunction() throws Exception { 15 | final JsclMathEngine mathEngine = JsclMathEngine.getInstance(); 16 | 17 | Assert.assertEquals("43.1025", mathEngine.evaluate("dms(43,6,9)")); 18 | Assert.assertEquals("102.765", mathEngine.evaluate("dms(102, 45, 54)")); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /jscl/src/test/java/jscl/math/function/FunctionsRegistryTest.java: -------------------------------------------------------------------------------- 1 | package jscl.math.function; 2 | 3 | import junit.framework.Assert; 4 | import org.junit.Test; 5 | 6 | /** 7 | * User: serso 8 | * Date: 11/12/11 9 | * Time: 2:14 PM 10 | */ 11 | public class FunctionsRegistryTest { 12 | 13 | @Test 14 | public void testOrder() throws Exception { 15 | Function prev = null; 16 | for (Function function : FunctionsRegistry.getInstance().getEntities()) { 17 | if (prev != null) { 18 | Assert.assertTrue(prev.getName() + "<" + function.getName(), prev.getName().length() >= function.getName().length()); 19 | } 20 | prev = function; 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /jscl/src/test/java/jscl/math/function/LgTest.java: -------------------------------------------------------------------------------- 1 | package jscl.math.function; 2 | 3 | import jscl.math.Expression; 4 | import org.junit.Test; 5 | 6 | import static junit.framework.Assert.assertEquals; 7 | 8 | /** 9 | * User: serso 10 | * Date: 6/15/13 11 | * Time: 12:52 AM 12 | */ 13 | public class LgTest { 14 | 15 | @Test 16 | public void testSimplify() throws Exception { 17 | assertEquals("lg(3)+lg(x/b)", Expression.valueOf("lg(3*x/b)").simplify().toString()); 18 | assertEquals("-lg(7)+lg(15)", Expression.valueOf("lg(3*5/7)").simplify().toString()); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /jscl/src/test/java/jscl/math/function/SgnTest.java: -------------------------------------------------------------------------------- 1 | package jscl.math.function; 2 | 3 | import jscl.JsclMathEngine; 4 | import org.junit.Assert; 5 | import org.junit.Test; 6 | 7 | /** 8 | * User: serso 9 | * Date: 2/10/12 10 | * Time: 9:35 PM 11 | */ 12 | public class SgnTest { 13 | 14 | @Test 15 | public void testSgn() throws Exception { 16 | final JsclMathEngine me = JsclMathEngine.getInstance(); 17 | 18 | Assert.assertEquals("1", me.evaluate("sgn(10)")); 19 | Assert.assertEquals("1", me.evaluate("sgn(0.5)")); 20 | Assert.assertEquals("0", me.evaluate("sgn(0)")); 21 | Assert.assertEquals("0", me.evaluate("sgn(-0)")); 22 | Assert.assertEquals("-1", me.evaluate("sgn(-1)")); 23 | Assert.assertEquals("-1", me.evaluate("sgn(-10)")); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /jscl/src/test/java/jscl/math/numeric/MatrixTest.java: -------------------------------------------------------------------------------- 1 | package jscl.math.numeric; 2 | 3 | import org.junit.Test; 4 | 5 | /** 6 | * User: serso 7 | * Date: 1/15/12 8 | * Time: 4:08 PM 9 | */ 10 | public class MatrixTest { 11 | 12 | @Test 13 | public void testMatrix() throws Exception { 14 | //To change body of created methods use File | Settings | File Templates. 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /jscl/src/test/java/jscl/math/operator/RandTest.java: -------------------------------------------------------------------------------- 1 | package jscl.math.operator; 2 | 3 | import jscl.math.Expression; 4 | import jscl.text.ParseException; 5 | import org.junit.Assert; 6 | import org.junit.Test; 7 | 8 | /** 9 | * User: serso 10 | * Date: 12/26/11 11 | * Time: 9:56 AM 12 | */ 13 | public class RandTest { 14 | 15 | @Test 16 | public void testRand() throws Exception { 17 | /*testRandString("rand()-rand()"); 18 | testRandString("rand()*rand()"); 19 | testRandString("rand()^2"); 20 | testRandString("rand()/rand()");*/ 21 | } 22 | 23 | private void testRandString(final String expression) throws ParseException { 24 | Assert.assertEquals(expression, Expression.valueOf(expression).toString()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /jscl/src/test/java/jscl/math/operator/stat/MinTest.java: -------------------------------------------------------------------------------- 1 | package jscl.math.operator.stat; 2 | 3 | import jscl.JsclMathEngine; 4 | import jscl.MathEngine; 5 | import org.junit.Test; 6 | 7 | /** 8 | * User: serso 9 | * Date: 1/15/12 10 | * Time: 5:03 PM 11 | */ 12 | public class MinTest { 13 | 14 | @Test 15 | public void testFunction() throws Exception { 16 | final MathEngine me = JsclMathEngine.getInstance(); 17 | 18 | 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /jscl/src/test/java/jscl/math/operator/stat/StandardDeviationTest.java: -------------------------------------------------------------------------------- 1 | package jscl.math.operator.stat; 2 | 3 | import org.junit.Test; 4 | 5 | /** 6 | * User: serso 7 | * Date: 1/15/12 8 | * Time: 5:17 PM 9 | */ 10 | public class StandardDeviationTest { 11 | 12 | @Test 13 | public void testFunction() throws Exception { 14 | //To change body of created methods use File | Settings | File Templates. 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | include ':dragbutton' 3 | include ':jscl' 4 | include ':plotter:lib' 5 | include ':translations' 6 | -------------------------------------------------------------------------------- /translations/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /translations/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'java' 2 | apply plugin: 'application' 3 | 4 | mainClassName = 'org.solovyev.android.translations.Android' 5 | 6 | dependencies { 7 | implementation 'commons-cli:commons-cli:1.3.1' 8 | implementation 'org.apache.httpcomponents:httpclient:4.5.3' 9 | implementation 'org.json:json:20151123' 10 | implementation 'org.simpleframework:simple-xml:2.7.1' 11 | implementation 'commons-cli:commons-cli:1.3.1' 12 | } 13 | -------------------------------------------------------------------------------- /translations/src/main/java/org/solovyev/android/translations/ResourceString.java: -------------------------------------------------------------------------------- 1 | package org.solovyev.android.translations; 2 | 3 | import org.simpleframework.xml.Attribute; 4 | import org.simpleframework.xml.Root; 5 | import org.simpleframework.xml.Text; 6 | 7 | @SuppressWarnings("unused") 8 | @Root(name = "string", strict = false) 9 | public class ResourceString { 10 | @Attribute 11 | public String name; 12 | @Attribute(required = false) 13 | public String comment; 14 | @Text(required = false) 15 | public String value; 16 | 17 | public ResourceString() { 18 | } 19 | 20 | ResourceString(String name, String value) { 21 | this.name = name; 22 | this.value = value; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /translations/src/main/java/org/solovyev/android/translations/Resources.java: -------------------------------------------------------------------------------- 1 | package org.solovyev.android.translations; 2 | 3 | import org.simpleframework.xml.ElementList; 4 | import org.simpleframework.xml.Root; 5 | import org.simpleframework.xml.Transient; 6 | 7 | import java.util.ArrayList; 8 | import java.util.List; 9 | 10 | @Root(strict = false) 11 | public class Resources { 12 | @ElementList(inline = true) 13 | public List strings = new ArrayList<>(); 14 | @Transient 15 | public String comment; 16 | 17 | public Resources() { 18 | } 19 | } 20 | --------------------------------------------------------------------------------