├── .gitignore
├── .idea
├── .name
├── compiler.xml
├── copyright
│ └── profiles_settings.xml
├── encodings.xml
├── gradle.xml
├── inspectionProfiles
│ ├── Project_Default.xml
│ └── profiles_settings.xml
├── misc.xml
├── modules.xml
├── scopes
│ └── scope_settings.xml
└── vcs.xml
├── Android.mk
├── AndroidManifest.xml
├── CleanSpec.mk
├── MODULE_LICENSE_APACHE2
├── NOTICE
├── build.gradle
├── libs
├── arity-2.1.6.jar
└── ejml-0.21.jar
├── proguard.flags
├── res
├── anim
│ └── blank.xml
├── color
│ ├── pad_button_advanced_text_color.xml
│ ├── pad_button_text_color.xml
│ ├── pad_button_toggle_text_color.xml
│ └── view_pager_indicator_color.xml
├── drawable-hdpi
│ ├── btn_close.png
│ ├── btn_graph.png
│ ├── btn_reset.png
│ ├── btn_zoomin.png
│ ├── btn_zoomout.png
│ ├── button_big.png
│ ├── circle.9.png
│ ├── color_card.9.png
│ ├── egg.png
│ ├── floating_calc_background.9.png
│ ├── history_divider.png
│ ├── ic_launcher_floating.png
│ ├── line.9.png
│ ├── matrix_background.9.png
│ ├── white_card.9.png
│ ├── widget_clear.png
│ ├── widget_delete.png
│ ├── widget_preview.png
│ └── x.png
├── drawable-mdpi
│ ├── btn_close.png
│ ├── btn_graph.png
│ ├── btn_reset.png
│ ├── btn_zoomin.png
│ ├── btn_zoomout.png
│ ├── button_big.png
│ ├── circle.9.png
│ ├── color_card.9.png
│ ├── egg.png
│ ├── floating_calc_background.9.png
│ ├── history_divider.png
│ ├── ic_launcher_floating.png
│ ├── line.9.png
│ ├── matrix_background.9.png
│ ├── white_card.9.png
│ ├── widget_clear.png
│ ├── widget_delete.png
│ ├── widget_preview.png
│ └── x.png
├── drawable-v21
│ ├── pad_button_advanced_background.xml
│ └── pad_button_background.xml
├── drawable-xhdpi
│ ├── btn_close.png
│ ├── btn_graph.png
│ ├── btn_reset.png
│ ├── btn_zoomin.png
│ ├── btn_zoomout.png
│ ├── button_big.png
│ ├── circle.9.png
│ ├── color_card.9.png
│ ├── egg.png
│ ├── floating_calc_background.9.png
│ ├── ic_launcher_floating.png
│ ├── line.9.png
│ ├── matrix_background.9.png
│ ├── white_card.9.png
│ ├── widget_clear.png
│ ├── widget_delete.png
│ ├── widget_preview.png
│ └── x.png
├── drawable-xxhdpi
│ ├── btn_close.png
│ ├── btn_graph.png
│ ├── btn_reset.png
│ ├── btn_zoomin.png
│ ├── btn_zoomout.png
│ ├── button_big.png
│ ├── circle.9.png
│ ├── color_card.9.png
│ ├── egg.png
│ ├── floating_calc_background.9.png
│ ├── ic_launcher_floating.png
│ ├── line.9.png
│ ├── matrix_background.9.png
│ ├── white_card.9.png
│ ├── widget_clear.png
│ ├── widget_delete.png
│ ├── widget_preview.png
│ └── x.png
├── drawable-xxxhdpi
│ ├── button_big.png
│ ├── circle.9.png
│ ├── color_card.9.png
│ ├── egg.png
│ ├── floating_calc_background.9.png
│ ├── ic_launcher_floating.png
│ ├── line.9.png
│ ├── matrix_background.9.png
│ ├── white_card.9.png
│ ├── widget_clear.png
│ ├── widget_delete.png
│ ├── widget_preview.png
│ └── x.png
├── drawable
│ ├── circle_bg.xml
│ ├── delete_background.xml
│ ├── menu_bg.xml
│ ├── pad_button_advanced_background.xml
│ ├── pad_button_background.xml
│ └── view_pager_indicator.xml
├── layout-land
│ └── activity_calculator.xml
├── layout-sw600dp-port
│ └── activity_calculator.xml
├── layout
│ ├── activity_calculator.xml
│ ├── display.xml
│ ├── equals_graph_button.xml
│ ├── floating_calculator.xml
│ ├── floating_calculator_advanced.xml
│ ├── floating_calculator_basic.xml
│ ├── floating_calculator_history.xml
│ ├── floating_calculator_icon.xml
│ ├── floating_delete_box.xml
│ ├── floating_history_entry.xml
│ ├── graph_display.xml
│ ├── history_entry.xml
│ ├── history_panel.xml
│ ├── pad_advanced.xml
│ ├── pad_auxiliary.xml
│ ├── pad_hex.xml
│ ├── pad_matrix.xml
│ ├── pad_numeric.xml
│ ├── pad_operator_one_col.xml
│ ├── pad_operator_two_col.xml
│ ├── view_edittext.xml
│ └── widget.xml
├── mipmap-hdpi
│ └── ic_launcher_calculator.png
├── mipmap-mdpi
│ └── ic_launcher_calculator.png
├── mipmap-xhdpi
│ └── ic_launcher_calculator.png
├── mipmap-xxhdpi
│ └── ic_launcher_calculator.png
├── mipmap-xxxhdpi
│ └── ic_launcher_calculator.png
├── values-af
│ ├── cm_strings.xml
│ └── strings.xml
├── values-am
│ ├── cm_strings.xml
│ └── strings.xml
├── values-ar
│ ├── cm_strings.xml
│ └── strings.xml
├── values-as-rIN
│ ├── cm_strings.xml
│ └── strings.xml
├── values-ast-rES
│ ├── cm_strings.xml
│ └── strings.xml
├── values-az-rAZ
│ ├── cm_strings.xml
│ └── strings.xml
├── values-be
│ ├── cm_strings.xml
│ └── strings.xml
├── values-bg
│ ├── cm_strings.xml
│ └── strings.xml
├── values-bn-rBD
│ ├── cm_strings.xml
│ └── strings.xml
├── values-br-rFR
│ ├── cm_strings.xml
│ └── strings.xml
├── values-bs-rBA
│ ├── cm_strings.xml
│ └── strings.xml
├── values-ca
│ ├── cm_strings.xml
│ └── strings.xml
├── values-cs
│ ├── cm_strings.xml
│ └── strings.xml
├── values-csb-rPL
│ ├── cm_strings.xml
│ └── strings.xml
├── values-cy
│ ├── cm_strings.xml
│ └── strings.xml
├── values-da
│ ├── cm_strings.xml
│ └── strings.xml
├── values-de
│ ├── cm_strings.xml
│ └── strings.xml
├── values-el
│ ├── cm_strings.xml
│ └── strings.xml
├── values-en-rAU
│ ├── cm_strings.xml
│ └── strings.xml
├── values-en-rGB
│ ├── cm_strings.xml
│ └── strings.xml
├── values-en-rIN
│ ├── cm_strings.xml
│ └── strings.xml
├── values-en-rPT
│ ├── cm_strings.xml
│ └── strings.xml
├── values-en
│ └── strings.xml
├── values-eo
│ ├── cm_strings.xml
│ └── strings.xml
├── values-es-rCO
│ ├── cm_strings.xml
│ └── strings.xml
├── values-es-rMX
│ ├── cm_strings.xml
│ └── strings.xml
├── values-es-rUS
│ ├── cm_strings.xml
│ └── strings.xml
├── values-es
│ ├── cm_strings.xml
│ └── strings.xml
├── values-et-rEE
│ ├── cm_strings.xml
│ └── strings.xml
├── values-eu-rES
│ ├── cm_strings.xml
│ └── strings.xml
├── values-fa
│ ├── cm_strings.xml
│ ├── config.xml
│ └── strings.xml
├── values-fi
│ ├── cm_strings.xml
│ └── strings.xml
├── values-fil-rPH
│ └── cm_strings.xml
├── values-fr-rCA
│ ├── cm_strings.xml
│ └── strings.xml
├── values-fr
│ ├── cm_strings.xml
│ └── strings.xml
├── values-frp-rIT
│ ├── cm_strings.xml
│ └── strings.xml
├── values-fy-rNL
│ ├── cm_strings.xml
│ └── strings.xml
├── values-ga-rIE
│ ├── cm_strings.xml
│ └── strings.xml
├── values-gd-rGB
│ ├── cm_strings.xml
│ └── strings.xml
├── values-gl-rES
│ ├── cm_strings.xml
│ └── strings.xml
├── values-gu-rIN
│ ├── cm_strings.xml
│ └── strings.xml
├── values-hi
│ ├── cm_strings.xml
│ └── strings.xml
├── values-hr
│ ├── cm_strings.xml
│ └── strings.xml
├── values-hu
│ ├── cm_strings.xml
│ └── strings.xml
├── values-hy-rAM
│ ├── cm_strings.xml
│ └── strings.xml
├── values-in
│ ├── cm_strings.xml
│ └── strings.xml
├── values-is-rIS
│ ├── cm_strings.xml
│ └── strings.xml
├── values-it
│ ├── cm_strings.xml
│ └── strings.xml
├── values-iw
│ ├── cm_strings.xml
│ └── strings.xml
├── values-ja
│ ├── cm_strings.xml
│ └── strings.xml
├── values-ka-rGE
│ ├── cm_strings.xml
│ └── strings.xml
├── values-kk-rKZ
│ ├── cm_strings.xml
│ └── strings.xml
├── values-km-rKH
│ ├── cm_strings.xml
│ └── strings.xml
├── values-kn-rIN
│ ├── cm_strings.xml
│ └── strings.xml
├── values-ko
│ ├── cm_strings.xml
│ └── strings.xml
├── values-ku
│ ├── cm_strings.xml
│ └── strings.xml
├── values-ky-rKG
│ ├── cm_strings.xml
│ └── strings.xml
├── values-land
│ ├── dimens.xml
│ └── styles.xml
├── values-lb
│ ├── cm_strings.xml
│ └── strings.xml
├── values-lo-rLA
│ ├── cm_strings.xml
│ └── strings.xml
├── values-lt
│ ├── cm_strings.xml
│ └── strings.xml
├── values-lv
│ ├── cm_strings.xml
│ └── strings.xml
├── values-mk-rMK
│ ├── cm_strings.xml
│ └── strings.xml
├── values-ml-rIN
│ ├── cm_strings.xml
│ └── strings.xml
├── values-mn-rMN
│ ├── cm_strings.xml
│ └── strings.xml
├── values-mr-rIN
│ ├── cm_strings.xml
│ └── strings.xml
├── values-ms-rMY
│ ├── cm_strings.xml
│ └── strings.xml
├── values-my-rMM
│ ├── cm_strings.xml
│ └── strings.xml
├── values-nb
│ ├── cm_strings.xml
│ └── strings.xml
├── values-ne-rNP
│ ├── cm_strings.xml
│ └── strings.xml
├── values-nl
│ ├── cm_strings.xml
│ └── strings.xml
├── values-oc-rFR
│ ├── cm_strings.xml
│ └── strings.xml
├── values-or-rIN
│ ├── cm_strings.xml
│ └── strings.xml
├── values-pa-rIN
│ ├── cm_strings.xml
│ └── strings.xml
├── values-pl
│ ├── cm_strings.xml
│ └── strings.xml
├── values-port-v17
│ └── styles.xml
├── values-pt-rBR
│ └── cm_strings.xml
├── values-pt-rPT
│ ├── cm_strings.xml
│ └── strings.xml
├── values-pt
│ └── strings.xml
├── values-rm
│ └── cm_strings.xml
├── values-ro
│ ├── cm_strings.xml
│ └── strings.xml
├── values-ru
│ ├── cm_strings.xml
│ └── strings.xml
├── values-si-rLK
│ ├── cm_strings.xml
│ └── strings.xml
├── values-sk
│ ├── cm_strings.xml
│ └── strings.xml
├── values-sl
│ ├── cm_strings.xml
│ └── strings.xml
├── values-sq-rAL
│ ├── cm_strings.xml
│ └── strings.xml
├── values-sr
│ ├── cm_strings.xml
│ └── strings.xml
├── values-sv
│ ├── cm_strings.xml
│ └── strings.xml
├── values-sw
│ ├── cm_strings.xml
│ └── strings.xml
├── values-sw600dp-land-v17
│ └── styles.xml
├── values-sw600dp-land
│ └── styles.xml
├── values-sw600dp-port-v17
│ └── styles.xml
├── values-sw600dp-port
│ └── styles.xml
├── values-sw800dp-land-v17
│ └── styles.xml
├── values-sw800dp-land
│ └── styles.xml
├── values-sw800dp-port-v17
│ └── styles.xml
├── values-sw800dp-port
│ └── styles.xml
├── values-ta-rIN
│ ├── cm_strings.xml
│ └── strings.xml
├── values-te-rIN
│ ├── cm_strings.xml
│ └── strings.xml
├── values-th
│ ├── cm_strings.xml
│ └── strings.xml
├── values-tl
│ └── strings.xml
├── values-tr
│ ├── cm_strings.xml
│ └── strings.xml
├── values-ug
│ ├── cm_strings.xml
│ └── strings.xml
├── values-uk
│ ├── cm_strings.xml
│ └── strings.xml
├── values-ur-rPK
│ ├── cm_strings.xml
│ └── strings.xml
├── values-uz-rUZ
│ ├── cm_strings.xml
│ └── strings.xml
├── values-v16
│ └── styles.xml
├── values-v21
│ └── styles.xml
├── values-vi
│ ├── cm_strings.xml
│ └── strings.xml
├── values-zh-rCN
│ ├── cm_strings.xml
│ └── strings.xml
├── values-zh-rHK
│ ├── cm_strings.xml
│ └── strings.xml
├── values-zh-rTW
│ ├── cm_strings.xml
│ └── strings.xml
├── values-zu
│ ├── cm_strings.xml
│ └── strings.xml
├── values
│ ├── attrs.xml
│ ├── cm_colors.xml
│ ├── cm_dimens.xml
│ ├── cm_strings.xml
│ ├── color.xml
│ ├── config.xml
│ ├── dimens.xml
│ ├── donottranslate_strings.xml
│ ├── strings.xml
│ └── styles.xml
└── xml
│ └── calculator_widget_info.xml
└── src
└── com
├── android
└── calculator2
│ ├── Calculator.java
│ ├── CalculatorExpressionEvaluator.java
│ ├── CalculatorExpressionTokenizer.java
│ ├── CalculatorNumericPadLayout.java
│ ├── CalculatorPadLayout.java
│ ├── CalculatorPadViewPager.java
│ ├── Clipboard.java
│ ├── GraphController.java
│ ├── HistoryAdapter.java
│ ├── NumberBaseManager.java
│ ├── floating
│ ├── FloatingCalculator.java
│ ├── FloatingCalculatorCreateShortCutActivity.java
│ ├── FloatingCalculatorOpenShortCutActivity.java
│ ├── FloatingCalculatorPageAdapter.java
│ └── FloatingHistoryAdapter.java
│ ├── util
│ ├── AnimationUtil.java
│ └── DigitLabelHelper.java
│ ├── view
│ ├── AutoFitButtonView.java
│ ├── AuxPadView.java
│ ├── CalculatorEditable.java
│ ├── DisplayOverlay.java
│ ├── GraphView.java
│ ├── HistoryLine.java
│ ├── MatrixEditText.java
│ ├── MatrixInverseView.java
│ ├── MatrixTransposeView.java
│ ├── MatrixView.java
│ ├── MultiButton.java
│ ├── ScrollableDisplay.java
│ ├── TextUtil.java
│ └── display
│ │ ├── AdvancedDisplay.java
│ │ ├── AdvancedDisplayControls.java
│ │ ├── CalculatorEditText.java
│ │ ├── DisplayComponent.java
│ │ ├── EventListener.java
│ │ ├── MenuHandler.java
│ │ └── Sync.java
│ ├── viewpager
│ ├── PagerAdapter.java
│ └── VerticalViewPager.java
│ └── widget
│ └── CalculatorWidget.java
└── xlythe
├── floatingview
├── AnimationFinishedListener.java
├── FloatingActivity.java
├── FloatingView.java
└── LimitedQueue.java
└── math
├── Base.java
├── BaseModule.java
├── Constants.java
├── EquationFormatter.java
├── GraphModule.java
├── History.java
├── HistoryEntry.java
├── Localizer.java
├── MatrixModule.java
├── Module.java
├── Persist.java
├── Point.java
├── Solver.java
├── SpellContext.java
├── SpellException.java
└── Voice.java
/.gitignore:
--------------------------------------------------------------------------------
1 | .gradle
2 | /local.properties
3 | /.idea/workspace.xml
4 | /.idea/libraries
5 | .DS_Store
6 | /build
7 | *.iml
--------------------------------------------------------------------------------
/.idea/.name:
--------------------------------------------------------------------------------
1 | Calculator3
--------------------------------------------------------------------------------
/.idea/compiler.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/.idea/copyright/profiles_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/gradle.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/.idea/inspectionProfiles/Project_Default.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/inspectionProfiles/profiles_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/.idea/scopes/scope_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Android.mk:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2008 The Android Open Source Project
3 | #
4 | # Licensed under the Apache License, Version 2.0 (the "License");
5 | # you may not use this file except in compliance with the License.
6 | # You may obtain a copy of the License at
7 | #
8 | # http://www.apache.org/licenses/LICENSE-2.0
9 | #
10 | # Unless required by applicable law or agreed to in writing, software
11 | # distributed under the License is distributed on an "AS IS" BASIS,
12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | # See the License for the specific language governing permissions and
14 | # limitations under the License.
15 | #
16 |
17 | LOCAL_PATH := $(call my-dir)
18 | include $(CLEAR_VARS)
19 |
20 | LOCAL_MODULE_TAGS := optional
21 |
22 | LOCAL_STATIC_JAVA_LIBRARIES := libarity android-support-v4 guava ejml \
23 | android-support-v7-recyclerview
24 |
25 | LOCAL_SRC_FILES := $(call all-java-files-under, src)
26 |
27 | LOCAL_SDK_VERSION := current
28 |
29 | LOCAL_OVERRIDES_PACKAGES := ExactCalculator
30 | LOCAL_PACKAGE_NAME := Calculator
31 |
32 | res_dir := res ../../../prebuilts/sdk/current/support/v7/appcompat/res \
33 | ../../../prebuilts/sdk/current/support/v7/recyclerview/res
34 |
35 | LOCAL_RESOURCE_DIR := $(addprefix $(LOCAL_PATH)/, $(res_dir))
36 |
37 | LOCAL_AAPT_FLAGS := --auto-add-overlay \
38 | --extra-packages com.xlythe.floatingview2 \
39 | --extra-packages android.support.v7.recyclerview
40 |
41 | LOCAL_PROGUARD_FLAG_FILES := proguard.flags
42 |
43 | include $(BUILD_PACKAGE)
44 |
45 | include $(CLEAR_VARS)
46 | LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := \
47 | ejml:libs/ejml-0.21.jar \
48 | libarity:libs/arity-2.1.6.jar
49 |
50 | include $(BUILD_MULTI_PREBUILT)
51 |
52 | # Use the following include to make our test apk.
53 | include $(call all-makefiles-under,$(LOCAL_PATH))
54 |
--------------------------------------------------------------------------------
/CleanSpec.mk:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2007 The Android Open Source Project
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 | #
15 |
16 | # If you don't need to do a full clean build but would like to touch
17 | # a file or delete some intermediate files, add a clean step to the end
18 | # of the list. These steps will only be run once, if they haven't been
19 | # run before.
20 | #
21 | # E.g.:
22 | # $(call add-clean-step, touch -c external/sqlite/sqlite3.h)
23 | # $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libz_intermediates)
24 | #
25 | # Always use "touch -c" and "rm -f" or "rm -rf" to gracefully deal with
26 | # files that are missing or have been moved.
27 | #
28 | # Use $(PRODUCT_OUT) to get to the "out/target/product/blah/" directory.
29 | # Use $(OUT_DIR) to refer to the "out" directory.
30 | #
31 | # If you need to re-do something that's already mentioned, just copy
32 | # the command and add it to the bottom of the list. E.g., if a change
33 | # that you made last week required touching a file and a change you
34 | # made today requires touching the same file, just copy the old
35 | # touch step and add it to the end of the list.
36 | #
37 | # ************************************************
38 | # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
39 | # ************************************************
40 |
41 | # For example:
42 | #$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/AndroidTests_intermediates)
43 | #$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/core_intermediates)
44 | #$(call add-clean-step, find $(OUT_DIR) -type f -name "IGTalkSession*" -print0 | xargs -0 rm -f)
45 | #$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/*)
46 |
47 | # ************************************************
48 | # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
49 | # ************************************************
50 |
--------------------------------------------------------------------------------
/MODULE_LICENSE_APACHE2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/MODULE_LICENSE_APACHE2
--------------------------------------------------------------------------------
/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 |
3 | buildscript {
4 | repositories {
5 | jcenter()
6 | }
7 | dependencies {
8 | classpath 'com.android.tools.build:gradle:0.12.2'
9 |
10 | // NOTE: Do not place your application dependencies here; they belong
11 | // in the individual module build.gradle files
12 | }
13 | }
14 |
15 | allprojects {
16 | repositories {
17 | jcenter()
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/libs/arity-2.1.6.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/libs/arity-2.1.6.jar
--------------------------------------------------------------------------------
/libs/ejml-0.21.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/libs/ejml-0.21.jar
--------------------------------------------------------------------------------
/proguard.flags:
--------------------------------------------------------------------------------
1 | -dontwarn org.ejml.ops.**
2 |
3 | -keep class java.awt.** { *; }
4 | -keep class javax.swing.** { *; }
5 |
6 | -dontnote javax.swing.**
7 | -dontwarn javax.swing.**
8 | -dontnote java.awt.**
9 | -dontwarn java.awt.**
10 |
11 | # Needed when building against the Marshmallow SDK
12 | -dontwarn android.support.**
13 |
--------------------------------------------------------------------------------
/res/anim/blank.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
--------------------------------------------------------------------------------
/res/color/pad_button_advanced_text_color.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/res/color/pad_button_text_color.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/res/color/pad_button_toggle_text_color.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/res/color/view_pager_indicator_color.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/res/drawable-hdpi/btn_close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-hdpi/btn_close.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/btn_graph.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-hdpi/btn_graph.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/btn_reset.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-hdpi/btn_reset.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/btn_zoomin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-hdpi/btn_zoomin.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/btn_zoomout.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-hdpi/btn_zoomout.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/button_big.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-hdpi/button_big.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/circle.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-hdpi/circle.9.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/color_card.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-hdpi/color_card.9.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/egg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-hdpi/egg.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/floating_calc_background.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-hdpi/floating_calc_background.9.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/history_divider.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-hdpi/history_divider.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_launcher_floating.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-hdpi/ic_launcher_floating.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/line.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-hdpi/line.9.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/matrix_background.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-hdpi/matrix_background.9.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/white_card.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-hdpi/white_card.9.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/widget_clear.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-hdpi/widget_clear.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/widget_delete.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-hdpi/widget_delete.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/widget_preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-hdpi/widget_preview.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-hdpi/x.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/btn_close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-mdpi/btn_close.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/btn_graph.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-mdpi/btn_graph.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/btn_reset.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-mdpi/btn_reset.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/btn_zoomin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-mdpi/btn_zoomin.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/btn_zoomout.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-mdpi/btn_zoomout.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/button_big.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-mdpi/button_big.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/circle.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-mdpi/circle.9.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/color_card.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-mdpi/color_card.9.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/egg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-mdpi/egg.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/floating_calc_background.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-mdpi/floating_calc_background.9.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/history_divider.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-mdpi/history_divider.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/ic_launcher_floating.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-mdpi/ic_launcher_floating.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/line.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-mdpi/line.9.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/matrix_background.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-mdpi/matrix_background.9.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/white_card.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-mdpi/white_card.9.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/widget_clear.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-mdpi/widget_clear.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/widget_delete.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-mdpi/widget_delete.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/widget_preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-mdpi/widget_preview.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-mdpi/x.png
--------------------------------------------------------------------------------
/res/drawable-v21/pad_button_advanced_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
--------------------------------------------------------------------------------
/res/drawable-v21/pad_button_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
--------------------------------------------------------------------------------
/res/drawable-xhdpi/btn_close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xhdpi/btn_close.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/btn_graph.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xhdpi/btn_graph.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/btn_reset.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xhdpi/btn_reset.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/btn_zoomin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xhdpi/btn_zoomin.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/btn_zoomout.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xhdpi/btn_zoomout.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/button_big.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xhdpi/button_big.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/circle.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xhdpi/circle.9.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/color_card.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xhdpi/color_card.9.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/egg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xhdpi/egg.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/floating_calc_background.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xhdpi/floating_calc_background.9.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/ic_launcher_floating.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xhdpi/ic_launcher_floating.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/line.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xhdpi/line.9.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/matrix_background.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xhdpi/matrix_background.9.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/white_card.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xhdpi/white_card.9.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/widget_clear.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xhdpi/widget_clear.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/widget_delete.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xhdpi/widget_delete.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/widget_preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xhdpi/widget_preview.png
--------------------------------------------------------------------------------
/res/drawable-xhdpi/x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xhdpi/x.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/btn_close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xxhdpi/btn_close.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/btn_graph.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xxhdpi/btn_graph.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/btn_reset.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xxhdpi/btn_reset.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/btn_zoomin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xxhdpi/btn_zoomin.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/btn_zoomout.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xxhdpi/btn_zoomout.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/button_big.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xxhdpi/button_big.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/circle.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xxhdpi/circle.9.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/color_card.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xxhdpi/color_card.9.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/egg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xxhdpi/egg.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/floating_calc_background.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xxhdpi/floating_calc_background.9.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/ic_launcher_floating.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xxhdpi/ic_launcher_floating.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/line.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xxhdpi/line.9.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/matrix_background.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xxhdpi/matrix_background.9.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/white_card.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xxhdpi/white_card.9.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/widget_clear.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xxhdpi/widget_clear.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/widget_delete.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xxhdpi/widget_delete.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/widget_preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xxhdpi/widget_preview.png
--------------------------------------------------------------------------------
/res/drawable-xxhdpi/x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xxhdpi/x.png
--------------------------------------------------------------------------------
/res/drawable-xxxhdpi/button_big.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xxxhdpi/button_big.png
--------------------------------------------------------------------------------
/res/drawable-xxxhdpi/circle.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xxxhdpi/circle.9.png
--------------------------------------------------------------------------------
/res/drawable-xxxhdpi/color_card.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xxxhdpi/color_card.9.png
--------------------------------------------------------------------------------
/res/drawable-xxxhdpi/egg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xxxhdpi/egg.png
--------------------------------------------------------------------------------
/res/drawable-xxxhdpi/floating_calc_background.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xxxhdpi/floating_calc_background.9.png
--------------------------------------------------------------------------------
/res/drawable-xxxhdpi/ic_launcher_floating.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xxxhdpi/ic_launcher_floating.png
--------------------------------------------------------------------------------
/res/drawable-xxxhdpi/line.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xxxhdpi/line.9.png
--------------------------------------------------------------------------------
/res/drawable-xxxhdpi/matrix_background.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xxxhdpi/matrix_background.9.png
--------------------------------------------------------------------------------
/res/drawable-xxxhdpi/white_card.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xxxhdpi/white_card.9.png
--------------------------------------------------------------------------------
/res/drawable-xxxhdpi/widget_clear.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xxxhdpi/widget_clear.png
--------------------------------------------------------------------------------
/res/drawable-xxxhdpi/widget_delete.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xxxhdpi/widget_delete.png
--------------------------------------------------------------------------------
/res/drawable-xxxhdpi/widget_preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xxxhdpi/widget_preview.png
--------------------------------------------------------------------------------
/res/drawable-xxxhdpi/x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/drawable-xxxhdpi/x.png
--------------------------------------------------------------------------------
/res/drawable/circle_bg.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/res/drawable/delete_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
8 |
--------------------------------------------------------------------------------
/res/drawable/menu_bg.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/res/drawable/pad_button_advanced_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/res/drawable/pad_button_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/res/drawable/view_pager_indicator.xml:
--------------------------------------------------------------------------------
1 |
4 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/res/layout-land/activity_calculator.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
23 |
24 |
27 |
28 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/res/layout-sw600dp-port/activity_calculator.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
22 |
23 |
26 |
27 |
34 |
35 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/res/layout/activity_calculator.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
22 |
23 |
26 |
27 |
34 |
35 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/res/layout/display.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
25 |
26 |
29 |
30 |
31 |
32 |
37 |
38 |
42 |
43 |
52 |
53 |
63 |
64 |
65 |
66 |
67 |
68 |
--------------------------------------------------------------------------------
/res/layout/equals_graph_button.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
21 |
22 |
30 |
31 |
37 |
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/res/layout/floating_calculator.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
15 |
16 |
23 |
24 |
30 |
31 |
38 |
39 |
40 |
41 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/res/layout/floating_calculator_history.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/res/layout/floating_calculator_icon.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
--------------------------------------------------------------------------------
/res/layout/floating_delete_box.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
11 |
12 |
16 |
17 |
23 |
24 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/res/layout/floating_history_entry.xml:
--------------------------------------------------------------------------------
1 |
8 |
9 |
18 |
19 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/res/layout/graph_display.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
23 |
24 |
32 |
33 |
37 |
42 |
47 |
52 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/res/layout/history_entry.xml:
--------------------------------------------------------------------------------
1 |
10 |
11 |
18 |
19 |
25 |
26 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/res/layout/history_panel.xml:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/res/layout/pad_auxiliary.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
21 |
22 |
25 |
26 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
43 |
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/res/layout/pad_hex.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
23 |
24 |
29 |
30 |
35 |
36 |
41 |
42 |
47 |
48 |
53 |
54 |
59 |
60 |
66 |
67 |
73 |
74 |
80 |
81 |
82 |
--------------------------------------------------------------------------------
/res/layout/pad_matrix.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
23 |
24 |
29 |
30 |
35 |
36 |
41 |
42 |
47 |
48 |
53 |
54 |
59 |
60 |
65 |
66 |
71 |
72 |
73 |
--------------------------------------------------------------------------------
/res/layout/pad_operator_one_col.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
25 |
26 |
33 |
34 |
41 |
42 |
48 |
49 |
55 |
56 |
62 |
63 |
69 |
70 |
71 |
--------------------------------------------------------------------------------
/res/layout/view_edittext.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
--------------------------------------------------------------------------------
/res/mipmap-hdpi/ic_launcher_calculator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/mipmap-hdpi/ic_launcher_calculator.png
--------------------------------------------------------------------------------
/res/mipmap-mdpi/ic_launcher_calculator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/mipmap-mdpi/ic_launcher_calculator.png
--------------------------------------------------------------------------------
/res/mipmap-xhdpi/ic_launcher_calculator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/mipmap-xhdpi/ic_launcher_calculator.png
--------------------------------------------------------------------------------
/res/mipmap-xxhdpi/ic_launcher_calculator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/mipmap-xxhdpi/ic_launcher_calculator.png
--------------------------------------------------------------------------------
/res/mipmap-xxxhdpi/ic_launcher_calculator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_Calculator/eaa40209d7722549240f5c7414abaa2cd46071b6/res/mipmap-xxxhdpi/ic_launcher_calculator.png
--------------------------------------------------------------------------------
/res/values-am/cm_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/res/values-be/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/res/values-bn-rBD/cm_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 | X
27 |
28 | Y
29 |
30 | asin
31 |
32 | acos
33 |
34 | atan
35 | .
36 |
37 |
38 |
39 | dX
40 |
41 | dY
42 |
43 | মোড
44 |
45 |
46 | \'%s\' অনুলিপি
47 |
48 | det
49 | +Row
50 | -Row
51 | +Col
52 | -Col
53 | T
54 |
55 | হেক্স
56 | বিন
57 | ডিইসি
58 |
59 |
--------------------------------------------------------------------------------
/res/values-br-rFR/cm_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/res/values-bs-rBA/cm_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/res/values-csb-rPL/cm_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/res/values-cy/cm_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/res/values-en-rGB/cm_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/res/values-en-rPT/cm_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/res/values-en/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | CLEAR
4 |
5 |
--------------------------------------------------------------------------------
/res/values-eo/cm_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/res/values-es-rCO/cm_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/res/values-es-rMX/cm_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/res/values-fa/config.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 | true
21 |
22 |
--------------------------------------------------------------------------------
/res/values-fil-rPH/cm_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/res/values-fr-rCA/cm_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/res/values-frp-rIT/cm_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/res/values-fy-rNL/cm_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/res/values-ga-rIE/cm_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/res/values-gd-rGB/cm_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/res/values-hy-rAM/cm_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/res/values-is-rIS/cm_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/res/values-ka-rGE/cm_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/res/values-kk-rKZ/cm_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/res/values-km-rKH/cm_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/res/values-ky-rKG/cm_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/res/values-land/dimens.xml:
--------------------------------------------------------------------------------
1 |
15 |
16 |
17 |
18 | 100dp
19 |
20 | 30sp
21 |
22 |
--------------------------------------------------------------------------------
/res/values-lo-rLA/cm_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/res/values-mk-rMK/cm_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/res/values-mn-rMN/cm_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/res/values-ms-rMY/cm_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/res/values-my-rMM/cm_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/res/values-ne-rNP/cm_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/res/values-oc-rFR/cm_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/res/values-pa-rIN/cm_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/res/values-port-v17/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 |
29 |
30 |
--------------------------------------------------------------------------------
/res/values-rm/cm_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/res/values-si-rLK/cm_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 | X
27 |
28 | Y
29 |
30 | asin
31 |
32 | acos
33 |
34 | atan
35 | .
36 |
37 |
38 |
39 | dX
40 |
41 | dY
42 |
43 | mod
44 |
45 |
46 | \'%s\' පිටපත් කරන්න
47 |
48 | det
49 | +පේළිය
50 | -පේළිය
51 | +තීරුව
52 | -තීරුව
53 | T
54 |
55 | Hex
56 | Bin
57 | Dec
58 |
59 |
--------------------------------------------------------------------------------
/res/values-sq-rAL/cm_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/res/values-sw/cm_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/res/values-sw600dp-land-v17/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 |
29 |
30 |
34 |
35 |
36 |
37 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/res/values-sw600dp-port-v17/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 |
22 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/res/values-sw800dp-land-v17/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 |
31 |
32 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/res/values-sw800dp-port-v17/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/res/values-ur-rPK/cm_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/res/values-uz-rUZ/cm_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/res/values-v21/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/res/values-zu/cm_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/res/values/attrs.xml:
--------------------------------------------------------------------------------
1 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/res/values/cm_colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #91000000
4 | #33000000
5 | #33FFFFFF
6 | #66ffffff
7 | #E6E6E6
8 | #999999
9 | @android:color/white
10 | @android:color/white
11 |
12 |
13 | #FFFFFFFF
14 | #ff000000
15 | #FFCCCCCC
16 | #FF00FFFF
17 |
18 |
--------------------------------------------------------------------------------
/res/values/cm_dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 65dp
5 | 70dp
6 | 125dp
7 | 125dp
8 |
9 |
10 | 60dp
11 | 36sp
12 |
13 |
14 | 3dp
15 | 5dp
16 |
17 |
18 | -10dp
19 | 8dp
20 |
21 |
--------------------------------------------------------------------------------
/res/values/color.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 | #00BCD4
22 |
23 |
24 | #F40056
25 |
26 |
27 | #FFF
28 |
29 |
30 | #8A000000
31 |
32 |
33 | #6C000000
34 |
35 |
36 | #434343
37 |
38 |
39 | #636363
40 |
41 |
42 | #1DE9B6
43 |
44 |
45 | #33FFFFFF
46 |
47 |
48 | #1A000000
49 |
50 |
51 |
--------------------------------------------------------------------------------
/res/values/config.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 | false
21 |
22 |
--------------------------------------------------------------------------------
/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
15 |
16 |
17 |
18 | -24dip
19 |
20 |
21 | 70dp
22 |
23 |
24 | 40sp
25 | 40sp
26 | 30sp
27 | 30sp
28 | 40sp
29 | 20sp
30 | 100dp
31 | 200dp
32 | 25dp
33 | 17dp
34 | 20dp
35 | 20dp
36 | 632.0dip
37 | 598.0dip
38 | 300dp
39 | 300dp
40 |
41 |
42 | 94dp
43 | 20dp
44 |
45 | 0dp
46 | 0dp
47 |
48 |
49 |
--------------------------------------------------------------------------------
/res/values/donottranslate_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 | e
22 |
23 | π
24 |
25 |
26 | (
27 |
28 | )
29 |
30 |
31 | +
32 |
33 | ÷
34 |
35 | !
36 |
37 | ×
38 |
39 | ^
40 |
41 | √
42 |
43 | −
44 |
45 |
46 | =
47 |
48 | ∞
49 |
50 |
51 |
--------------------------------------------------------------------------------
/res/xml/calculator_widget_info.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/com/android/calculator2/CalculatorNumericPadLayout.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2014 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.android.calculator2;
18 |
19 | import com.android.calculator2.util.DigitLabelHelper;
20 |
21 | import android.content.Context;
22 | import android.util.AttributeSet;
23 | import android.widget.Button;
24 |
25 | public class CalculatorNumericPadLayout extends CalculatorPadLayout {
26 |
27 | public CalculatorNumericPadLayout(Context context) {
28 | this(context, null);
29 | }
30 |
31 | public CalculatorNumericPadLayout(Context context, AttributeSet attrs) {
32 | this(context, attrs, 0);
33 | }
34 |
35 | public CalculatorNumericPadLayout(Context context, AttributeSet attrs, int defStyle) {
36 | super(context, attrs, defStyle);
37 | }
38 |
39 | @Override
40 | public void onFinishInflate() {
41 | super.onFinishInflate();
42 |
43 | DigitLabelHelper.getInstance().getTextForDigits(getContext(),
44 | new DigitLabelHelper.DigitLabelHelperCallback() {
45 | @Override
46 | public void setDigitText(int id, String text) {
47 | Button button = (Button) findViewById(id);
48 | button.setText(text);
49 | }
50 | });
51 | }
52 | }
53 |
54 |
--------------------------------------------------------------------------------
/src/com/android/calculator2/Clipboard.java:
--------------------------------------------------------------------------------
1 | package com.android.calculator2;
2 |
3 | import android.content.ClipData;
4 | import android.content.ClipboardManager;
5 | import android.content.Context;
6 | import android.widget.Toast;
7 |
8 | /**
9 | * Simplify Android copy/paste
10 | */
11 | public class Clipboard {
12 | public static void copy(Context context, String text) {
13 | ClipboardManager clipboard = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
14 | clipboard.setPrimaryClip(ClipData.newPlainText(null, text));
15 | String toastText = String.format(context.getResources().getString(R.string.text_copied_toast), text);
16 | Toast.makeText(context, toastText, Toast.LENGTH_SHORT).show();
17 | }
18 |
19 | public static String paste(Context context) {
20 | ClipData clip = getPrimaryClip(context);
21 | if(clip != null) {
22 | for(int i = 0; i < clip.getItemCount(); i++) {
23 | CharSequence paste = clip.getItemAt(i).coerceToText(context);
24 | if(paste.length() > 0) {
25 | return paste.toString();
26 | }
27 | }
28 | }
29 | return null;
30 | }
31 |
32 | public static boolean canPaste(Context context) {
33 | return paste(context) != null;
34 | }
35 |
36 |
37 | private static ClipData getPrimaryClip(Context context) {
38 | ClipboardManager clipboard = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
39 | return clipboard.getPrimaryClip();
40 | }
41 |
42 | private static void setPrimaryClip(Context context, ClipData clip) {
43 | ClipboardManager clipboard = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
44 | clipboard.setPrimaryClip(clip);
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/src/com/android/calculator2/NumberBaseManager.java:
--------------------------------------------------------------------------------
1 | package com.android.calculator2;
2 |
3 | import com.xlythe.math.Base;
4 |
5 | import java.util.Arrays;
6 | import java.util.HashMap;
7 | import java.util.HashSet;
8 | import java.util.List;
9 | import java.util.Map;
10 | import java.util.Set;
11 |
12 | /**
13 | * Keeps track of the application wide number base, and manages the IDs of views to disable
14 | * when changing base.
15 | */
16 | public class NumberBaseManager {
17 |
18 | private Base mBase;
19 | private Map> mDisabledViewIds;
20 | private Set mViewIds;
21 |
22 | public NumberBaseManager(Base base) {
23 | mBase = base;
24 |
25 | List hexList =
26 | Arrays.asList(R.id.A, R.id.B, R.id.C, R.id.D, R.id.E, R.id.F);
27 |
28 | List binaryList =
29 | Arrays.asList(R.id.digit2, R.id.digit3, R.id.digit4, R.id.digit5, R.id.digit6,
30 | R.id.digit7, R.id.digit8, R.id.digit9);
31 |
32 | mDisabledViewIds = new HashMap>();
33 | mDisabledViewIds.put(Base.DECIMAL, new HashSet(hexList));
34 | Set disabledForBinary = new HashSet(binaryList);
35 | disabledForBinary.addAll(hexList);
36 | mDisabledViewIds.put(Base.BINARY, disabledForBinary);
37 | mDisabledViewIds.put(Base.HEXADECIMAL, new HashSet());
38 |
39 | mViewIds = new HashSet();
40 | mViewIds.addAll(binaryList);
41 | mViewIds.addAll(hexList);
42 |
43 | // setup default base
44 | setNumberBase(mBase);
45 | }
46 |
47 | public void setNumberBase(Base base) {
48 | mBase = base;
49 | }
50 |
51 | public Base getNumberBase() {
52 | return mBase;
53 | }
54 |
55 | /**
56 | * @return the set of view resource IDs managed by the enabled/disabled list
57 | */
58 | public Set getViewIds() {
59 | return mViewIds;
60 | }
61 |
62 | /**
63 | * return true if the given view is disabled based on the current base
64 | *
65 | * @param viewResId
66 | * @return
67 | */
68 | public boolean isViewDisabled(int viewResId) {
69 | Set disabledSet = mDisabledViewIds.get(mBase);
70 | return disabledSet.contains(viewResId);
71 | }
72 | }
73 |
--------------------------------------------------------------------------------
/src/com/android/calculator2/floating/FloatingCalculatorCreateShortCutActivity.java:
--------------------------------------------------------------------------------
1 | package com.android.calculator2.floating;
2 |
3 | import android.app.Activity;
4 | import android.content.Intent;
5 | import android.os.Bundle;
6 |
7 | import com.android.calculator2.R;
8 |
9 | /**
10 | * Created by Will on 4/9/2014.
11 | */
12 | public class FloatingCalculatorCreateShortCutActivity extends Activity {
13 | public void onCreate(Bundle state) {
14 | super.onCreate(state);
15 |
16 | if(Intent.ACTION_CREATE_SHORTCUT.equals(getIntent().getAction())) {
17 | // create shortcut if requested
18 | Intent.ShortcutIconResource icon = Intent.ShortcutIconResource.fromContext(this, R.drawable.ic_launcher_floating);
19 |
20 | Intent intent = new Intent();
21 | Intent launchIntent = new Intent(this, FloatingCalculatorOpenShortCutActivity.class);
22 |
23 | intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, launchIntent);
24 | intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name));
25 | intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);
26 |
27 | setResult(RESULT_OK, intent);
28 | finish();
29 | }
30 | }
31 |
32 | @Override
33 | public void finish() {
34 | super.finish();
35 | overridePendingTransition(R.anim.blank, R.anim.blank);
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/src/com/android/calculator2/floating/FloatingCalculatorOpenShortCutActivity.java:
--------------------------------------------------------------------------------
1 | package com.android.calculator2.floating;
2 |
3 | import android.app.Activity;
4 | import android.content.Intent;
5 | import android.net.Uri;
6 | import android.os.Bundle;
7 |
8 | import android.os.Handler;
9 | import android.provider.Settings;
10 | import com.android.calculator2.R;
11 |
12 | /**
13 | * Created by Will on 4/9/2014.
14 | */
15 | public class FloatingCalculatorOpenShortCutActivity extends Activity {
16 |
17 | private static int REQUEST_SYSTEM_WINDOW_PERMISSION = 69;
18 | private Handler mHandler = new Handler();
19 |
20 | public void onCreate(Bundle state) {
21 | super.onCreate(state);
22 |
23 | if (!Settings.canDrawOverlays(this)) {
24 | mHandler.post(new Runnable() {
25 | @Override
26 | public void run() {
27 | requestSystemWindowPermission();
28 | }
29 | });
30 | } else {
31 | startFloatingCalculator();
32 | }
33 | }
34 |
35 | private void startFloatingCalculator() {
36 | Intent intent = new Intent(this, FloatingCalculator.class);
37 | startService(intent);
38 | finish();
39 | }
40 |
41 | @Override
42 | public void finish() {
43 | super.finish();
44 | overridePendingTransition(R.anim.blank, R.anim.blank);
45 | }
46 |
47 | private void requestSystemWindowPermission() {
48 | Intent intent = new Intent (Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
49 | Uri.parse("package:" + getPackageName()));
50 | startActivityForResult(intent, REQUEST_SYSTEM_WINDOW_PERMISSION);
51 | }
52 |
53 | @Override
54 | protected void onActivityResult(int requestCode, int resultCode, Intent data) {
55 | if (requestCode == REQUEST_SYSTEM_WINDOW_PERMISSION) {
56 | if (Settings.canDrawOverlays(this)) {
57 | startFloatingCalculator();
58 | } else {
59 | finish();
60 | }
61 | }
62 | }
63 | }
64 |
--------------------------------------------------------------------------------
/src/com/android/calculator2/floating/FloatingHistoryAdapter.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2008 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package com.android.calculator2.floating;
17 |
18 | import android.content.Context;
19 | import com.android.calculator2.HistoryAdapter;
20 | import com.android.calculator2.R;
21 | import com.xlythe.math.History;
22 |
23 | class FloatingHistoryAdapter extends HistoryAdapter {
24 | public FloatingHistoryAdapter(Context context, History history, HistoryItemCallback callback) {
25 | super(context, history, callback);
26 | }
27 |
28 | @Override
29 | protected int getLayoutResourceId() {
30 | return R.layout.floating_history_entry;
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/src/com/android/calculator2/util/DigitLabelHelper.java:
--------------------------------------------------------------------------------
1 | package com.android.calculator2.util;
2 |
3 | import android.content.Context;
4 | import android.content.res.Resources;
5 | import com.android.calculator2.R;
6 |
7 | import java.text.DecimalFormatSymbols;
8 | import java.util.Locale;
9 |
10 | public final class DigitLabelHelper {
11 |
12 | private static final String UNICODE_LOCALE_KEY = "nu";
13 | private static final String UNICODE_LOCALE_VALUE = "latn";
14 | private static DigitLabelHelper sInstance;
15 | private static final int[] sDigitIds = new int[] {
16 | R.id.digit0,
17 | R.id.digit1,
18 | R.id.digit2,
19 | R.id.digit3,
20 | R.id.digit4,
21 | R.id.digit5,
22 | R.id.digit6,
23 | R.id.digit7,
24 | R.id.digit8,
25 | R.id.digit9,
26 | R.id.dec_point
27 | };
28 |
29 | private int mCachedLocaleHash;
30 | private DecimalFormatSymbols mDecFormatSymbols;
31 |
32 | public interface DigitLabelHelperCallback {
33 | void setDigitText(int id, String text);
34 | }
35 |
36 | public synchronized static DigitLabelHelper getInstance() {
37 | if (sInstance == null) {
38 | sInstance = new DigitLabelHelper();
39 | }
40 | return sInstance;
41 | }
42 |
43 | private DecimalFormatSymbols getDecimalFormatForCurrentLocale(Context context) {
44 | Resources resources = context.getResources();
45 | Locale locale = resources.getConfiguration().locale;
46 | if (locale.hashCode() != mCachedLocaleHash) {
47 | if (!resources.getBoolean(R.bool.use_localized_digits)) {
48 | locale = new Locale.Builder()
49 | .setLocale(locale)
50 | .setUnicodeLocaleKeyword(UNICODE_LOCALE_KEY, UNICODE_LOCALE_VALUE)
51 | .build();
52 | }
53 | mCachedLocaleHash = locale.hashCode();
54 | mDecFormatSymbols = DecimalFormatSymbols.getInstance(locale);
55 | }
56 | return mDecFormatSymbols;
57 | }
58 |
59 | public void getTextForDigits(Context context, DigitLabelHelperCallback callback) {
60 | final DecimalFormatSymbols symbols = getDecimalFormatForCurrentLocale(context);
61 | final char zeroDigit = symbols.getZeroDigit();
62 | for (int i = 0; i < sDigitIds.length; i++) {
63 | int id = sDigitIds[i];
64 | if (id == R.id.dec_point) {
65 | callback.setDigitText(id, String.valueOf(symbols.getDecimalSeparator()));
66 | } else {
67 | callback.setDigitText(id, String.valueOf((char) (zeroDigit + i)));
68 | }
69 | }
70 | }
71 | }
72 |
--------------------------------------------------------------------------------
/src/com/android/calculator2/view/MatrixInverseView.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2010 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.android.calculator2.view;
18 |
19 | import android.content.Context;
20 | import android.text.Html;
21 | import android.text.InputType;
22 | import android.widget.TextView;
23 |
24 | import com.android.calculator2.R;
25 | import com.android.calculator2.view.display.AdvancedDisplay;
26 |
27 | public class MatrixInverseView extends TextView {
28 | private final static char PLACEHOLDER = '\uFEFF';
29 | public final static String PATTERN = PLACEHOLDER + "^-1";
30 |
31 | public MatrixInverseView(Context context) {
32 | super(context);
33 | }
34 |
35 | public MatrixInverseView(final AdvancedDisplay display) {
36 | super(display.getContext());
37 | setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
38 | setText(Html.fromHtml("-1"));
39 | setTextAppearance(display.getContext(), R.style.Theme_Calculator_Display);
40 | setPadding(0, 0, 0, 0);
41 | }
42 |
43 | @Override
44 | public String toString() {
45 | return PATTERN;
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/src/com/android/calculator2/view/MatrixTransposeView.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2010 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.android.calculator2.view;
18 |
19 | import android.content.Context;
20 | import android.text.Html;
21 | import android.text.InputType;
22 | import android.widget.TextView;
23 |
24 | import com.android.calculator2.R;
25 | import com.android.calculator2.view.display.AdvancedDisplay;
26 |
27 | public class MatrixTransposeView extends TextView {
28 | public final static String PATTERN = "^T";
29 |
30 | public MatrixTransposeView(Context context) {
31 | super(context);
32 | }
33 |
34 | public MatrixTransposeView(final AdvancedDisplay display) {
35 | super(display.getContext());
36 | setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
37 | setText(Html.fromHtml("T"));
38 | setTextAppearance(display.getContext(), R.style.Theme_Calculator_Display);
39 | setPadding(0, 0, 0, 0);
40 | }
41 |
42 | @Override
43 | public String toString() {
44 | return PATTERN;
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/src/com/android/calculator2/view/MultiButton.java:
--------------------------------------------------------------------------------
1 | package com.android.calculator2.view;
2 |
3 | import android.content.Context;
4 | import android.util.AttributeSet;
5 | import android.util.Log;
6 | import android.view.View;
7 | import android.widget.FrameLayout;
8 | import com.android.calculator2.Calculator;
9 | import com.android.calculator2.util.AnimationUtil;
10 |
11 | /**
12 | * A collection of buttons that occupy the same space, only one of which is visible at a time
13 | */
14 | public class MultiButton extends FrameLayout {
15 |
16 | private static final String TAG = Calculator.TAG;
17 |
18 | private int mActiveViewId = View.NO_ID;
19 |
20 | public MultiButton(Context context) {
21 | super(context);
22 | }
23 |
24 | public MultiButton(Context context, AttributeSet attrs) {
25 | super(context, attrs);
26 | }
27 |
28 | public MultiButton(Context context, AttributeSet attrs, int defStyleAttr) {
29 | super(context, attrs, defStyleAttr);
30 | }
31 |
32 | public MultiButton(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
33 | super(context, attrs, defStyleAttr, defStyleRes);
34 | }
35 |
36 | @Override
37 | protected void onFinishInflate() {
38 | super.onFinishInflate();
39 |
40 | for (int i=0; i < getChildCount(); ++i) {
41 | getChildAt(i).setVisibility(View.INVISIBLE);
42 | }
43 | }
44 |
45 | /**
46 | * Disable the currently active button and enable the one with the given resId
47 | *
48 | * @param resId
49 | */
50 | public void setEnabled(int resId) {
51 | if (mActiveViewId == resId) {
52 | return;
53 | }
54 |
55 | View newView = findViewById(resId);
56 | if (newView == null) {
57 | Log.w(TAG, "Cannot enable MultiButton view by resId " + resId);
58 | return;
59 | }
60 |
61 | if (mActiveViewId != View.NO_ID) {
62 | View oldView = findViewById(mActiveViewId);
63 | AnimationUtil.shrinkAndGrow(oldView, newView);
64 | } else {
65 | newView.setVisibility(View.VISIBLE);
66 | }
67 |
68 | mActiveViewId = resId;
69 | }
70 |
71 | /**
72 | * Gets currently enabled view
73 | *
74 | * @return enabled view or null if none
75 | */
76 | public View getEnabledView() {
77 | return findViewById(mActiveViewId);
78 | }
79 | }
80 |
--------------------------------------------------------------------------------
/src/com/android/calculator2/view/TextUtil.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2010 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.android.calculator2.view;
18 |
19 | public class TextUtil {
20 | public static int countOccurrences(String haystack, char needle) {
21 | int count = 0;
22 | for(int i = 0; i < haystack.length(); i++) {
23 | if(haystack.charAt(i) == needle) {
24 | count++;
25 | }
26 | }
27 | return count;
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/com/android/calculator2/view/display/AdvancedDisplayControls.java:
--------------------------------------------------------------------------------
1 | package com.android.calculator2.view.display;
2 |
3 | public interface AdvancedDisplayControls {
4 | public boolean hasNext();
5 | }
6 |
--------------------------------------------------------------------------------
/src/com/android/calculator2/view/display/DisplayComponent.java:
--------------------------------------------------------------------------------
1 | package com.android.calculator2.view.display;
2 |
3 | import android.content.Context;
4 | import android.view.View;
5 |
6 | import com.xlythe.math.Solver;
7 |
8 | /**
9 | * Declare a View as a component for AdvancedDisplay.
10 | *
11 | * A component is a custom view for math equations (Like matrices).
12 | * Register components with AdvancedDisplay to create a better UI when showing equations.
13 | * */
14 | public interface DisplayComponent {
15 | /**
16 | * The view to display.
17 | *
18 | * Includes the equation to display.
19 | *
20 | * Includes a copy of the solver being used,
21 | * because the base can change (from decimal to binary for instance).
22 | * Useful for adding comas, or whatever else you need.
23 | * */
24 | public T getView(Context context, Solver solver, String equation, EventListener listener);
25 |
26 | /**
27 | * Return the text you claim is yours, but only if the equation starts with it.
28 | *
29 | * For instance, [[0],[1]]+[[1],[0]] represents 2 matrices. A MatrixView would return
30 | * [[0],[1]] because that's 1 matrix.
31 | * */
32 | public String parse(String equation);
33 | }
34 |
--------------------------------------------------------------------------------
/src/com/android/calculator2/view/display/EventListener.java:
--------------------------------------------------------------------------------
1 | package com.android.calculator2.view.display;
2 |
3 | import android.view.View;
4 | import android.widget.EditText;
5 |
6 | /**
7 | * Created by Will on 12/13/2014.
8 | */
9 | public interface EventListener {
10 | public void onEditTextChanged(EditText editText);
11 |
12 | public void onRemoveView(View view);
13 |
14 | public View nextView(View currentView);
15 |
16 | public View previousView(View currentView);
17 | }
18 |
--------------------------------------------------------------------------------
/src/com/android/calculator2/view/display/Sync.java:
--------------------------------------------------------------------------------
1 | package com.android.calculator2.view.display;
2 |
3 | import android.widget.TextView;
4 |
5 | /**
6 | * Created by Will on 12/13/2014.
7 | */
8 | public abstract class Sync {
9 | String tag;
10 |
11 | Sync(String tag) {
12 | this.tag = tag;
13 | }
14 |
15 | public abstract void apply(TextView textView);
16 |
17 | @Override
18 | public int hashCode() {
19 | return tag.hashCode();
20 | }
21 |
22 | @Override
23 | public boolean equals(Object o) {
24 | if(o instanceof Sync) {
25 | return ((Sync) o).tag.equals(tag);
26 | }
27 | return false;
28 | }
29 | }
30 |
31 |
--------------------------------------------------------------------------------
/src/com/xlythe/floatingview/AnimationFinishedListener.java:
--------------------------------------------------------------------------------
1 | package com.xlythe.floatingview;
2 |
3 | import android.animation.Animator;
4 |
5 | public abstract class AnimationFinishedListener implements Animator.AnimatorListener {
6 | @Override
7 | public void onAnimationCancel(Animator animation) {}
8 |
9 | @Override
10 | public void onAnimationRepeat(Animator animation) {}
11 |
12 | @Override
13 | public void onAnimationStart(Animator animation) {}
14 |
15 | @Override
16 | public void onAnimationEnd(Animator animation) {
17 | onAnimationFinished();
18 | }
19 |
20 | public abstract void onAnimationFinished();
21 | }
22 |
--------------------------------------------------------------------------------
/src/com/xlythe/floatingview/FloatingActivity.java:
--------------------------------------------------------------------------------
1 | package com.xlythe.floatingview;
2 |
3 | import android.annotation.SuppressLint;
4 | import android.app.Activity;
5 | import android.os.Bundle;
6 | import android.view.View;
7 | import android.view.Window;
8 | import android.view.WindowManager;
9 |
10 | import com.android.calculator2.R;
11 |
12 | /**
13 | * Created by Will on 4/9/2014.
14 | */
15 | public class FloatingActivity extends Activity {
16 | public static final String EXTRA_HIDE_STATUS_BAR = "hide_status_bar";
17 | public static FloatingActivity ACTIVE_ACTIVITY;
18 |
19 | @SuppressLint("InlinedApi")
20 | public void onCreate(Bundle state) {
21 | super.onCreate(state);
22 | if(getIntent().getBooleanExtra(EXTRA_HIDE_STATUS_BAR, false)) {
23 | if(android.os.Build.VERSION.SDK_INT < 16) {
24 | requestWindowFeature(Window.FEATURE_NO_TITLE);
25 | getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
26 | }
27 | else {
28 | getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);
29 | }
30 | }
31 | }
32 |
33 | @Override
34 | protected void onResume() {
35 | super.onResume();
36 | ACTIVE_ACTIVITY = this;
37 | }
38 |
39 | @Override
40 | protected void onPause() {
41 | super.onPause();
42 | if(FloatingView.ACTIVE_VIEW != null) FloatingView.ACTIVE_VIEW.closeView();
43 | ACTIVE_ACTIVITY = null;
44 | }
45 |
46 | @Override
47 | public void finish() {
48 | super.finish();
49 | overridePendingTransition(R.anim.blank, R.anim.blank);
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/src/com/xlythe/floatingview/LimitedQueue.java:
--------------------------------------------------------------------------------
1 | package com.xlythe.floatingview;
2 |
3 | import java.util.LinkedList;
4 |
5 | public class LimitedQueue extends LinkedList {
6 | private static final long serialVersionUID = 1L;
7 | private int limit;
8 |
9 | public LimitedQueue(int limit) {
10 | this.limit = limit;
11 | }
12 |
13 | @Override
14 | public boolean add(E o) {
15 | super.add(o);
16 | while(size() > limit) {
17 | super.remove();
18 | }
19 | return true;
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/src/com/xlythe/math/Base.java:
--------------------------------------------------------------------------------
1 | package com.xlythe.math;
2 |
3 | /**
4 | * Represents changing the number of characters available when writing numbers.
5 | */
6 | public enum Base {
7 | BINARY(2),
8 | DECIMAL(10),
9 | HEXADECIMAL(16);
10 |
11 | int quickSerializable;
12 |
13 | Base(int num) {
14 | this.quickSerializable = num;
15 | }
16 |
17 | public int getQuickSerializable() {
18 | return quickSerializable;
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/src/com/xlythe/math/Constants.java:
--------------------------------------------------------------------------------
1 | package com.xlythe.math;
2 |
3 | import java.text.DecimalFormatSymbols;
4 | import java.util.regex.Pattern;
5 |
6 | /**
7 | * Created by Will on 11/8/2014.
8 | */
9 | public class Constants {
10 | public static final String INFINITY_UNICODE = "\u221e";
11 | // Double.toString() for Infinity
12 | public static final String INFINITY = "Infinity";
13 | // Double.toString() for NaN
14 | public static final String NAN = "NaN";
15 | public static final char MINUS = '\u2212';
16 | public static final char MUL = '\u00d7';
17 | public static final char PLUS = '+';
18 | public static final char DIV = '\u00f7';
19 | public static final char PLACEHOLDER = '\u200B';
20 | public static final char POWER = '^';
21 | public static final char EQUAL = '=';
22 | public static final char LEFT_PAREN = '(';
23 | public static final char RIGHT_PAREN = ')';
24 |
25 | // Values for decimals and comas
26 | private static DecimalFormatSymbols DECIMAL_FORMAT;
27 | public static char DECIMAL_POINT;
28 | public static char DECIMAL_SEPARATOR;
29 | public static char BINARY_SEPARATOR;
30 | public static char HEXADECIMAL_SEPARATOR;
31 | public static char MATRIX_SEPARATOR;
32 |
33 | public static String REGEX_NUMBER;
34 | public static String REGEX_NOT_NUMBER;
35 |
36 | static {
37 | rebuildConstants();
38 | }
39 |
40 | /**
41 | * If the locale changes, but the app is still in memory, you may need to rebuild these constants
42 | * */
43 | public static void rebuildConstants() {
44 | DECIMAL_FORMAT = new DecimalFormatSymbols();
45 |
46 | // These will already be known by Java
47 | DECIMAL_POINT = DECIMAL_FORMAT.getDecimalSeparator();
48 | DECIMAL_SEPARATOR = DECIMAL_FORMAT.getGroupingSeparator();
49 |
50 | // Use a space for Bin and Hex
51 | BINARY_SEPARATOR = ' ';
52 | HEXADECIMAL_SEPARATOR = ' ';
53 |
54 | // We have to be careful with the Matrix Separator.
55 | // It defaults to "," but that's a common decimal point.
56 | if(DECIMAL_POINT == ',') MATRIX_SEPARATOR = ' ';
57 | else MATRIX_SEPARATOR = ',';
58 |
59 | String number = "A-F0-9" +
60 | Pattern.quote(String.valueOf(DECIMAL_POINT)) +
61 | Pattern.quote(String.valueOf(DECIMAL_SEPARATOR)) +
62 | Pattern.quote(String.valueOf(BINARY_SEPARATOR)) +
63 | Pattern.quote(String.valueOf(HEXADECIMAL_SEPARATOR));
64 |
65 | REGEX_NUMBER = "[" + number + "]";
66 | REGEX_NOT_NUMBER = "[^" + number + "]";
67 | }
68 | }
69 |
--------------------------------------------------------------------------------
/src/com/xlythe/math/HistoryEntry.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2008 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.xlythe.math;
18 |
19 | import java.io.DataInput;
20 | import java.io.DataOutput;
21 | import java.io.IOException;
22 |
23 | public class HistoryEntry {
24 | private static final int VERSION_1 = 1;
25 | private String mBase;
26 | private String mEdited;
27 |
28 | HistoryEntry(String base, String edited) {
29 | mBase = base;
30 | mEdited = edited;
31 | }
32 |
33 | HistoryEntry(int version, DataInput in) throws IOException {
34 | if(version >= VERSION_1) {
35 | mBase = in.readUTF();
36 | mEdited = in.readUTF();
37 | } else {
38 | throw new IOException("invalid version " + version);
39 | }
40 | }
41 |
42 | void write(DataOutput out) throws IOException {
43 | out.writeUTF(mBase);
44 | out.writeUTF(mEdited);
45 | }
46 |
47 | @Override
48 | public String toString() {
49 | return mBase;
50 | }
51 |
52 | void clearEdited() {
53 | mEdited = mBase;
54 | }
55 |
56 | public String getEdited() {
57 | return mEdited;
58 | }
59 |
60 | void setEdited(String edited) {
61 | mEdited = edited;
62 | }
63 |
64 | public String getBase() {
65 | return mBase;
66 | }
67 | }
68 |
--------------------------------------------------------------------------------
/src/com/xlythe/math/Module.java:
--------------------------------------------------------------------------------
1 | package com.xlythe.math;
2 |
3 | /**
4 | * A super class for BaseModule, GraphModule, MatrixModule
5 | */
6 | public class Module {
7 | // Used whenever math is necessary
8 | private final Solver mSolver;
9 |
10 | // Used for formatting Dec, Bin, and Hex.
11 | // Dec looks like 1,234,567. Bin is 1010 1010. Hex is 0F 1F 2F.
12 | private final int mDecSeparatorDistance = 3;
13 | private final int mBinSeparatorDistance = 4;
14 | private final int mHexSeparatorDistance = 2;
15 |
16 | Module(Solver solver) {
17 | mSolver = solver;
18 | }
19 |
20 | public int getDecSeparatorDistance() {
21 | return mDecSeparatorDistance;
22 | }
23 |
24 | public int getBinSeparatorDistance() {
25 | return mBinSeparatorDistance;
26 | }
27 |
28 | public int getHexSeparatorDistance() {
29 | return mHexSeparatorDistance;
30 | }
31 |
32 | public char getDecimalPoint() {
33 | return Constants.DECIMAL_POINT;
34 | }
35 |
36 | public char getDecSeparator() {
37 | return Constants.DECIMAL_SEPARATOR;
38 | }
39 |
40 | public char getBinSeparator() {
41 | return Constants.BINARY_SEPARATOR;
42 | }
43 |
44 | public char getHexSeparator() {
45 | return Constants.HEXADECIMAL_SEPARATOR;
46 | }
47 |
48 | public char getMatrixSeparator() {
49 | return Constants.MATRIX_SEPARATOR;
50 | }
51 |
52 | public Solver getSolver() {
53 | return mSolver;
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/com/xlythe/math/Point.java:
--------------------------------------------------------------------------------
1 | package com.xlythe.math;
2 |
3 | /**
4 | * Created by Will on 11/2/2014.
5 | */
6 | public class Point {
7 | private final double x;
8 | private final double y;
9 |
10 | public Point(double x, double y) {
11 | this.x = x;
12 | this.y = y;
13 | }
14 |
15 | public double getX() {
16 | return x;
17 | }
18 |
19 | public double getY() {
20 | return y;
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/src/com/xlythe/math/SpellException.java:
--------------------------------------------------------------------------------
1 | package com.xlythe.math;
2 |
3 | public class SpellException extends Exception {
4 | private static final long serialVersionUID = 1L;
5 |
6 | public SpellException(String message) {
7 | super(message);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------