From a3f6875a79ff9f322e7a058f882e5c0ed6033971 Mon Sep 17 00:00:00 2001 From: poulomi218 <70106781+poulomi218@users.noreply.github.com> Date: Fri, 2 Oct 2020 00:01:03 +0530 Subject: [PATCH] hacktoberfest first timers --- .gitignore | 74 +++++++ .idea/codeStyles/Project.xml | 58 +++++ .idea/codeStyles/codeStyleConfig.xml | 5 + .idea/misc.xml | 4 + .idea/modules.xml | 9 + .idea/navEditor.xml | 55 +++++ .idea/runConfigurations.xml | 12 + .idea/vcs.xml | 7 + Dart/design_container.dart | 146 ------------ Dart/hello_world.dart | 3 - LICENSE | 25 --- README.md | 4 +- app/.gitignore | 1 + app/build.gradle | 48 ++++ app/proguard-rules.pro | 21 ++ .../calculator/ExampleInstrumentedTest.kt | 24 ++ app/src/main/AndroidManifest.xml | 28 +++ app/src/main/ic_launcher-web.png | Bin 0 -> 70700 bytes .../com/mthrsj/calculator/BasicCalculator.kt | 90 ++++++++ .../mthrsj/calculator/ComplexCalculator.kt | 209 ++++++++++++++++++ .../com/mthrsj/calculator/MainActivity.kt | 53 +++++ .../drawable-v24/ic_launcher_foreground.xml | 34 +++ .../res/drawable/ic_launcher_background.xml | 74 +++++++ app/src/main/res/drawable/rounded_button.xml | 9 + .../res/layout/activity_basic_calculator.xml | 113 ++++++++++ .../layout/activity_complex_calculator.xml | 190 ++++++++++++++++ app/src/main/res/layout/activity_main.xml | 36 +++ app/src/main/res/layout/toolbar.xml | 11 + app/src/main/res/menu/main_menu.xml | 17 ++ .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + app/src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 5807 bytes .../mipmap-hdpi/ic_launcher_foreground.png | Bin 0 -> 7149 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 5807 bytes app/src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 3241 bytes .../mipmap-mdpi/ic_launcher_foreground.png | Bin 0 -> 3763 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 3241 bytes app/src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 8666 bytes .../mipmap-xhdpi/ic_launcher_foreground.png | Bin 0 -> 10034 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 8666 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 14282 bytes .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin 0 -> 18017 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 14282 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 21013 bytes .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin 0 -> 29098 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 21013 bytes .../main/res/values-pt-rBR/strings-pt-BR.xml | 11 + app/src/main/res/values/colors.xml | 6 + app/src/main/res/values/dimens.xml | 4 + .../res/values/ic_launcher_background.xml | 4 + app/src/main/res/values/strings.xml | 11 + app/src/main/res/values/styles.xml | 10 + .../com/mthrsj/calculator/ExampleUnitTest.kt | 17 ++ build.gradle | 28 +++ gradle.properties | 24 ++ gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 54329 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 172 ++++++++++++++ gradlew.bat | 84 +++++++ settings.gradle | 1 + 60 files changed, 1572 insertions(+), 176 deletions(-) create mode 100644 .gitignore create mode 100644 .idea/codeStyles/Project.xml create mode 100644 .idea/codeStyles/codeStyleConfig.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/navEditor.xml create mode 100644 .idea/runConfigurations.xml create mode 100644 .idea/vcs.xml delete mode 100644 Dart/design_container.dart delete mode 100644 Dart/hello_world.dart delete mode 100644 LICENSE create mode 100644 app/.gitignore create mode 100644 app/build.gradle create mode 100644 app/proguard-rules.pro create mode 100644 app/src/androidTest/java/com/mthrsj/calculator/ExampleInstrumentedTest.kt create mode 100644 app/src/main/AndroidManifest.xml create mode 100644 app/src/main/ic_launcher-web.png create mode 100644 app/src/main/java/com/mthrsj/calculator/BasicCalculator.kt create mode 100644 app/src/main/java/com/mthrsj/calculator/ComplexCalculator.kt create mode 100644 app/src/main/java/com/mthrsj/calculator/MainActivity.kt create mode 100644 app/src/main/res/drawable-v24/ic_launcher_foreground.xml create mode 100644 app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 app/src/main/res/drawable/rounded_button.xml create mode 100644 app/src/main/res/layout/activity_basic_calculator.xml create mode 100644 app/src/main/res/layout/activity_complex_calculator.xml create mode 100644 app/src/main/res/layout/activity_main.xml create mode 100644 app/src/main/res/layout/toolbar.xml create mode 100644 app/src/main/res/menu/main_menu.xml create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 app/src/main/res/values-pt-rBR/strings-pt-BR.xml create mode 100644 app/src/main/res/values/colors.xml create mode 100644 app/src/main/res/values/dimens.xml create mode 100644 app/src/main/res/values/ic_launcher_background.xml create mode 100644 app/src/main/res/values/strings.xml create mode 100644 app/src/main/res/values/styles.xml create mode 100644 app/src/test/java/com/mthrsj/calculator/ExampleUnitTest.kt create mode 100644 build.gradle create mode 100644 gradle.properties create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100644 gradlew create mode 100644 gradlew.bat create mode 100644 settings.gradle diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..18e081c --- /dev/null +++ b/.gitignore @@ -0,0 +1,74 @@ +*.iml +.gradle +/local.properties +/.idea/workspace.xml +/.idea/libraries +.DS_Store +/build +/captures +.externalNativeBuild +# Built application files +*.apk +*.ap_ + +# Files for the ART/Dalvik VM +*.dex + +# Java class files +*.class + +# Generated files +bin/ +gen/ +out/ + +# Gradle files +.gradle/ +build/ + +# Local configuration file (sdk path, etc) +local.properties + +# Proguard folder generated by Eclipse +proguard/ + +# Log Files +*.log + +# Android Studio Navigation editor temp files +.navigation/ + +# Android Studio captures folder +captures/ + +# IntelliJ +*.iml +.idea/workspace.xml +.idea/tasks.xml +.idea/gradle.xml +.idea/assetWizardSettings.xml +.idea/dictionaries +.idea/libraries +.idea/caches + +# Keystore files +# Uncomment the following line if you do not want to check your keystore files in. +#*.jks + +# External native build folder generated in Android Studio 2.2 and later +.externalNativeBuild + +# Google Services (e.g. APIs or Firebase) +google-services.json + +# Freeline +freeline.py +freeline/ +freeline_project_description.json + +# fastlane +fastlane/report.xml +fastlane/Preview.html +fastlane/screenshots +fastlane/test_output +fastlane/readme.md diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml new file mode 100644 index 0000000..5c9d4a8 --- /dev/null +++ b/.idea/codeStyles/Project.xml @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml new file mode 100644 index 0000000..79ee123 --- /dev/null +++ b/.idea/codeStyles/codeStyleConfig.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..0d45e8d --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..8ffdad4 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/navEditor.xml b/.idea/navEditor.xml new file mode 100644 index 0000000..5cf41c4 --- /dev/null +++ b/.idea/navEditor.xml @@ -0,0 +1,55 @@ + + + + + + \ No newline at end of file diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml new file mode 100644 index 0000000..7f68460 --- /dev/null +++ b/.idea/runConfigurations.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..8306744 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/Dart/design_container.dart b/Dart/design_container.dart deleted file mode 100644 index a4233f9..0000000 --- a/Dart/design_container.dart +++ /dev/null @@ -1,146 +0,0 @@ -import 'package:flutter/material.dart'; - -void main()=>runApp(MaterialApp( - home: ContainerApp(), - debugShowCheckedModeBanner: false, -)); - -class ContainerApp extends StatefulWidget { - @override - _ContainerAppState createState() => _ContainerAppState(); -} - -class _ContainerAppState extends State { - @override - Widget build(BuildContext context) { - return Scaffold( - body: MainApp(), - ); - } -} - -class MainApp extends StatelessWidget { - @override - Widget build(BuildContext context) { - return Container( - color: Colors.grey[700], - alignment: FractionalOffset.center, - child: ListView( - children: [ - LittleApp(), - Question(), - Answer() - ], - ), - ); - } -} - -class LittleApp extends StatelessWidget { - @override - Widget build(BuildContext context) { - return Container( - margin: EdgeInsets.fromLTRB(50.0, 100.0, 50.0, 50.0), - child: Image.asset("asset/flight_0.jpg"), - constraints:BoxConstraints( - maxHeight: 250.0, - minHeight: 50.0, - maxWidth: 250.0, - minWidth: 50.0 - ), - decoration: BoxDecoration( - //color: Colors.blueAccent, - boxShadow: [BoxShadow( - color: Colors.blueGrey[800], - spreadRadius: 20.0, - blurRadius: 20.0, - )] - ), - ); - } -} - -class Question extends StatelessWidget { - @override - Widget build(BuildContext context) { - return Container( - margin: EdgeInsets.all(50.0), - child: Text("Is it a plane ? ",style:TextStyle(fontSize:25.0,color:Colors.white),textAlign: TextAlign.center,), - constraints:BoxConstraints( - maxHeight: 50.0, - minHeight: 50.0, - maxWidth: 50.0, - minWidth: 50.0 - ), - decoration: BoxDecoration( - //color: Colors.blueAccent, - boxShadow: [BoxShadow( - color: Colors.blueGrey[800], - spreadRadius: 20.0, - blurRadius: 20.0, - )] - ), - ); - } -} - -class Answer extends StatelessWidget { - @override - Widget build(BuildContext context) { - return Container( - margin: EdgeInsets.all(20.0), - child: Row( - children: [ - Yes(), - No(), - ], - ), - ); - } -} - -class Yes extends StatelessWidget { - @override - Widget build(BuildContext context) { - return Container( - child: Center(child: Text("Yes",style: TextStyle(color: Colors.white,fontSize: 20.0))), - margin: EdgeInsets.only(left: 10.0), - constraints:BoxConstraints( - maxHeight: 50.0, - minHeight: 50.0, - maxWidth: 100.0, - minWidth: 50.0 - ), - decoration: BoxDecoration( - border: Border.all( - width: 1, - color: Colors.white - ), - borderRadius: BorderRadius.all(Radius.circular(15.0),) - ), - ); - } -} - -class No extends StatelessWidget { - @override - Widget build(BuildContext context) { - return Container( - child: Center(child: Text("No",style: TextStyle(color: Colors.white,fontSize: 20.0))), - margin: EdgeInsets.only(left: 100.0), - constraints:BoxConstraints( - maxHeight: 50.0, - minHeight: 50.0, - maxWidth: 100.0, - minWidth: 50.0 - ), - decoration: BoxDecoration( - border: Border.all( - width: 1, - color: Colors.white - ), - borderRadius: BorderRadius.all(Radius.circular(15.0),) - ), - ); - } -} diff --git a/Dart/hello_world.dart b/Dart/hello_world.dart deleted file mode 100644 index 73461c2..0000000 --- a/Dart/hello_world.dart +++ /dev/null @@ -1,3 +0,0 @@ -void main(){ - print("Hello World"); -} diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 63a9d57..0000000 --- a/LICENSE +++ /dev/null @@ -1,25 +0,0 @@ -BSD 2-Clause License - -Copyright (c) 2020, DSC_TIU -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/README.md b/README.md index c226243..d7940fd 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,2 @@ -# Hacktoberfest_FirstTimers -Fork and Do PR +# calculator +Simple Calculator for Android API Level 23 diff --git a/app/.gitignore b/app/.gitignore new file mode 100644 index 0000000..796b96d --- /dev/null +++ b/app/.gitignore @@ -0,0 +1 @@ +/build diff --git a/app/build.gradle b/app/build.gradle new file mode 100644 index 0000000..7f7809d --- /dev/null +++ b/app/build.gradle @@ -0,0 +1,48 @@ +apply plugin: 'com.android.application' + +apply plugin: 'kotlin-android' + +apply plugin: 'kotlin-android-extensions' + +android { + compileSdkVersion 28 + defaultConfig { + applicationId "com.mthrsj.calculator" + minSdkVersion 23 + targetSdkVersion 28 + versionCode 1 + versionName "1.0" + testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + } + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + } +} + +allprojects { + repositories { + google() + jcenter() + mavenCentral() + maven { url 'https://maven.google.com' } + } +} + + +dependencies { + implementation fileTree(include: ['*.jar'], dir: 'libs') + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" + implementation 'com.android.support:appcompat-v7:28.0.0' + implementation 'com.android.support.constraint:constraint-layout:1.1.3' + implementation 'androidx.appcompat:appcompat:1.0.0-beta01' + implementation 'androidx.constraintlayout:constraintlayout:1.1.3' + testImplementation 'junit:junit:4.12' + androidTestImplementation 'com.android.support.test:runner:1.0.2' + androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' + implementation 'com.google.android.material:material:1.0.0' + implementation 'com.android.support:design:28.0.0' + implementation 'android.arch.navigation:navigation-fragment:1.0.0' +} diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro new file mode 100644 index 0000000..f1b4245 --- /dev/null +++ b/app/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile diff --git a/app/src/androidTest/java/com/mthrsj/calculator/ExampleInstrumentedTest.kt b/app/src/androidTest/java/com/mthrsj/calculator/ExampleInstrumentedTest.kt new file mode 100644 index 0000000..117841c --- /dev/null +++ b/app/src/androidTest/java/com/mthrsj/calculator/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package com.mthrsj.calculator + +import android.support.test.InstrumentationRegistry +import android.support.test.runner.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getTargetContext() + assertEquals("com.mthrsj.calculator", appContext.packageName) + } +} diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..eb23914 --- /dev/null +++ b/app/src/main/AndroidManifest.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/ic_launcher-web.png b/app/src/main/ic_launcher-web.png new file mode 100644 index 0000000000000000000000000000000000000000..6e784590baca507facdabba6fd9372b6b911bdac GIT binary patch literal 70700 zcmdRV`9Dr#)l4NU>2t{PezRnog%3hXi zGh<(yu@8<9#c>-@PhR}ly% z_$w3Q04w}&o}mj#a?Z#X3%P0FerCR}Fvdhj71$FSm4mX%|F5ihgk>{HXv6r(!< z7pl){&f6V&iUtFda|sn&RLZLj~YzSs}*iqY%^ zO2WUW+}g9XB5aLc5B4f%EuMl-;@9z4TE3F9;)+NI0NbuGPMezDwv(XN!nU;zqd;rE z8viNGMYUgeA$cP{h?{<#kyG=(9ngq8^nTORT6c+L`DqF`krSI~Zg-M(Q-e-*_Zf{J zWg9d1t@~{`Q#&XYFsQXF$+dY?-z}cY=%LevnzAnq{R5BjXGh)%UZ2~3tn~iUCFEKD z1%(kY8eW`u*iLfCaXQ!x*nT>HZSa5-f9tu{XKfc-Uld1@&i`-UFFoFS8(w?EM}dFmMXqN%-GBC?R7G$0KDg(t zjg}l*eQ;{?&|Yb1hBCg%8`~@9_oBI**gXGj|KW5Q*@F4Muvog8S^R!;JMYdcFg0)j zIl&?F?BS@=duSFnh2m@}5Gm63Eoh|`d2{Hdowzl+K@e+}G9`O!i$a&j!xKrQg8>Jo zo^B1qFeaW;unBFKB+}BV9ZiKDrO255>9VI`X47SU5YNsso&WoParl*Mm#2(sCM>z_ zvnlRbdk+&AsZ3~ zxY4^~MooqCwOWTbTG)l}e@46#g$^g%LDk;hR(hBjYY*rgL-wEW_)2!W>L%~vFWY)X zZnP1VDTryfLpQR`%xG^F-k_eRsMd^&|D7r8{Zj(Kl?oz~5G~qFHLukE6@t znkI?tz{#U#w$O{q^r4V5x6ZzQy2Tz|s8xHlIB-RmF9!q)Ye=mDz^+tM6 zqi{1mugSIUxn26e@d9@yhWsZ_26N_XlyCxv{z2wl#}au!xO*Xxi1~T|&`*{%iHKPi zYi}Erh(Fw0_tPZ8?C&{Vy25;}UM;`Xk?#UG0t{pG-=FR)*Jn}V z@?DI^Z)&Y;aega{H)_i`5%BI#_khwcne>$j5Stc^l#B)%BuXM!=~Gl;yTz+??FX`R z8^>whDNPy6GQ789mC9F+1n3zND>2HIO-+9FeF8;qc3hXG(+jutZZ>z1{R%vE7Vna< zv9ICP%};i^iGT$(5{GXAk?ba9Je!>ROP8}b!{Zmf&a?e!r43Zw zQv%6d1`J=Od1nzx-Q`Lqt@1Y&cE&gfSe;WZb#HYIm*%nC>9CJ>G$`~SLWF1RVL1dVTA>{Z~#9q*ixD} zg%F{S%8o*uPVOoRVNidm*6y8zBjtzWUQ$1;G`7Ex&5w3Hymqlu-~%7{m8Ko@FB8`Wk+&102iM+hFGokD@y4z$7=`)i)65Raot11y;s0fa?l1Ue%0AqlFRi}_#4uTbj z4!`WFsks4+nNExHeMrrH>>6uu`bOT9f0sPYy}vyh&Sx=!F|*OwqhKmIM#PfS!8X;U3~w$jJ(Y?gZYNY$bZxme*`0y|J#K_T67qwBvRlg^1c zFd=0EKgvy>d$3$lok0xEaB?Z5eeDA6)|OYbU;bNW65D<{%4l>tC?a=o4zw`%<9d63 zxh**`{jYy$bSj`Tedoug*Uk6|UQqJ429Rd}^rqs`hoI1eBfrV2c=Yu<2kwwnF+wsu z*FU*q^8H*WTN!!89m%Ut6Y+2VTd)vabtWRaJME!&`q0Vh30Kmo-;~Fxl2Ok-2taop zH{yTv$E{HuMfFmo zM(s*5D`U&L2t-myUcAuir9k);c0$h{bvg44LveleliwdM!f7|>vn|5K96xLeZd5L1 zGz%8>iCoM5VtV)3=G@FLLNh1h%0V)ESc6hAX62^?Xtx!vwdIqq z>!2N5-$A=}jV_YMzZkY+!aoEZ^Tsx{0y;JkH_t1(6$eaYF8o-E#EX0%V!3AiPE-jL z>;^~e$x@lcpuOM17uq({Gf<6)Jz&OpjF4d(dhL1L%K!!&raJFOu2U`5wIqIQp6T1^^yXmC6p6j`{H>|{c%Js$-N)N3@u^3GMk;>7bk0Y@d$@)yS7Vbsi zf9xFiK!0KCUK9MinUv@=Q*8Pk9Xg}>LHp;=+3P}(851;lbsvVD2%a(4s{Q?!r!H{c zx4&z<*%UJ$m_#=5>tZ9TR=$|8^WoG-HSBOU!64^VIgX)f%xC#OC`a({ExRQ+bXZZS zPa-jA-ibQoODPX`9spO|k{1=eg7%0DHRuXUdTeCn{#y#xB-rmAr?ZykgN1`X^_b8d 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 vl{a@%}l> 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

Am>I`%JK4>$}M-k9cHl?f6gJOIUE^dMXka0es@z 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 literal 0 HcmV?d00001 diff --git a/app/src/main/java/com/mthrsj/calculator/BasicCalculator.kt b/app/src/main/java/com/mthrsj/calculator/BasicCalculator.kt new file mode 100644 index 0000000..590b4dd --- /dev/null +++ b/app/src/main/java/com/mthrsj/calculator/BasicCalculator.kt @@ -0,0 +1,90 @@ +package com.mthrsj.calculator + +import android.content.Intent +import android.os.Bundle +import android.util.Log +import android.view.Menu +import android.view.MenuItem +import androidx.appcompat.app.AppCompatActivity +import androidx.appcompat.widget.Toolbar +import kotlinx.android.synthetic.main.activity_basic_calculator.* + +class BasicCalculator : AppCompatActivity() { + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_basic_calculator) + + var toolbar: Toolbar = findViewById(toolbar.id) + setSupportActionBar(toolbar) + + plusButton.setOnClickListener { view -> operation("plus"); view.clearFocus() } + minusButton.setOnClickListener { view -> operation("minus"); view.clearFocus() } + divideButton.setOnClickListener { view -> operation("divide"); view.clearFocus() } + multiplyButton.setOnClickListener { view -> operation("multiply"); view.clearFocus() } + } + + override fun onCreateOptionsMenu(menu: Menu?): Boolean { + menuInflater.inflate(R.menu.main_menu, menu) + return true + } + + private fun navigateComplex() { + var it = Intent(this, ComplexCalculator::class.java) + startActivity(it) + } + + private fun navigateBasic() { + var it = Intent(this, BasicCalculator::class.java) + startActivity(it) + } + + override fun onOptionsItemSelected(item: MenuItem) = when (item.title) { + "Basic" -> { + false + } + "Complex" -> { + navigateComplex() + true + } + else -> { + // If we got here, the user's action was not recognized. + // Invoke the superclass to handle it. + super.onOptionsItemSelected(item) + } + } + + private fun operation(type: String) { + try { + val value1 = input1.text.toString().toDouble() + val value2 = input2.text.toString().toDouble() + calculate(type, value1, value2) + } + catch(e: NumberFormatException){ + + } + } + + private fun calculate(type: String, value1: Double, value2: Double) { + Log.d("TYPE", type) + if (type == "plus") { + val result = value1 + value2 + Log.d("CALC", "$result") + resultText.text = result.toString() + } else if (type == "minus") { + val result = value1 - value2 + Log.d("CALC", "$result") + resultText.text = result.toString() + } else if (type == "divide") { + if (value2 != 0.0) { + val result = value1 / value2 + Log.d("CALC", "$result") + resultText.text = result.toString() + } + } else if (type === "multiply") { + val result = value1 * value2 + Log.d("CALC", "$result") + resultText.text = result.toString() + } + } +} diff --git a/app/src/main/java/com/mthrsj/calculator/ComplexCalculator.kt b/app/src/main/java/com/mthrsj/calculator/ComplexCalculator.kt new file mode 100644 index 0000000..7c1b661 --- /dev/null +++ b/app/src/main/java/com/mthrsj/calculator/ComplexCalculator.kt @@ -0,0 +1,209 @@ +package com.mthrsj.calculator + +import android.content.Intent +import android.os.Bundle +import android.util.Log +import android.view.Menu +import android.view.MenuItem +import android.view.View +import androidx.appcompat.app.AppCompatActivity +import androidx.appcompat.widget.Toolbar +import kotlinx.android.synthetic.main.activity_complex_calculator.* + +class ComplexCalculator : AppCompatActivity() { + + private var operations: MutableList = mutableListOf() + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_complex_calculator) + + var toolbar: Toolbar = findViewById(toolbar.id) + setSupportActionBar(toolbar) + + // Setting operation listeners + plusButtonComplex.setOnClickListener { view -> addOperation(view) } + minusButtonComplex.setOnClickListener { view -> addOperation(view) } + divideButtonComplex.setOnClickListener { view -> addOperation(view) } + multiplyButtonComplex.setOnClickListener { view -> addOperation(view) } + dotButton.setOnClickListener { addDot() } + clearButton.setOnClickListener { clearInput() } + deleteButton.setOnClickListener { deleteLast() } + equalButton.setOnClickListener { result() } + + // Setting number buttons listeners + button0.setOnClickListener { view -> addNum(view) } + button1.setOnClickListener { view -> addNum(view) } + button2.setOnClickListener { view -> addNum(view) } + button3.setOnClickListener { view -> addNum(view) } + button4.setOnClickListener { view -> addNum(view) } + button5.setOnClickListener { view -> addNum(view) } + button6.setOnClickListener { view -> addNum(view) } + button7.setOnClickListener { view -> addNum(view) } + button8.setOnClickListener { view -> addNum(view) } + button9.setOnClickListener { view -> addNum(view) } + } + + override fun onCreateOptionsMenu(menu: Menu?): Boolean { + menuInflater.inflate(R.menu.main_menu, menu) + return true + } + + private fun navigateBasic() { + var it = Intent(this, BasicCalculator::class.java) + startActivity(it) + } + + override fun onOptionsItemSelected(item: MenuItem) = when (item.title) { + "Basic" -> { + navigateBasic() + true + } + + "Complex" -> { + false + } + + else -> { + // If we got here, the user's action was not recognized. + // Invoke the superclass to handle it. + super.onOptionsItemSelected(item) + } + } + + private fun addOperation(v: View) { + var op = v.tag.toString() + try { + if(operations.isNotEmpty()) { + operations[operations.size - 1].toDouble() + Log.d("OPER", "$op added to operations") + when (op) { + "plus" -> operations.add("+") + "minus" -> operations.add("-") + "divide" -> operations.add("/") + "multiply" -> operations.add("x") + } + formatInput() + } + } catch (e: NumberFormatException) { + + } + } + + private fun addNum(v: View) { + var tag = v.tag.toString() + var number = tag[tag.length - 1].toString() + Log.d("OPER", "button$number got clicked") + try { + if (operations.isNotEmpty()) { + var lastItem = operations[operations.size - 1] + if (lastItem.indexOf(".") != -1) { + operations[operations.size - 1] = "$lastItem$number" + formatInput() + return + } else { + lastItem.toDouble() + operations[operations.size - 1] = "$lastItem$number" + formatInput() + return + } + } else { + if(number == "0") + operations.add("0.") + else operations.add(number) + } + } catch (e: NumberFormatException) { + if(number == "0") + operations.add("0.") + else operations.add(number) + } + formatInput() + } + + private fun addDot() { + var size = operations.size + if (size > 0) { + var last = operations[size - 1] + if (last.indexOf(".") != -1) { + // Nothing should be done + } else { + try { + last.toDouble() + operations[size - 1] = "$last." + } catch (e: NumberFormatException) { + operations.add("0.") + } + } + } else { + operations.add("0.") + } + formatInput() + } + + private fun deleteLast() { + if (operations.size > 0) { + try { + var string = operations[operations.size - 1] + Log.d("DEB", "String length=${string.length}") + if (string.indexOf(".") != -1) { + var result = string.dropLast(1) + operations[operations.size - 1] = result + } else { + operations.removeAt(operations.size - 1) + } + } catch (e: NumberFormatException) { + operations.removeAt(operations.size - 1) + } + formatInput() + } + } + + private fun clearInput() { + Log.d("OPER", "Input cleared") + operations = mutableListOf() + inputBox.setText("") + } + + private fun formatInput() { + var text = "" + for (i in operations) { + text = "$text$i " + } + inputBox.setText(text) + } + + private fun result() { + var result: Double = 1.0 + var last = -1.0 + var op = "" + for (item in operations) { + try { + Log.d("CALC", "Actual item: $item") + var value = item.toDouble() + if (last != -1.0) { + try { + Log.d("CALC", "Operation: $last $op $value") + when (op) { + "+" -> result = last + value + "-" -> result = last - value + "/" -> result = last / value + "x" -> result = last * value + } + Log.d("CALC", "Result is: $result ") + last = result + } catch (e: ArithmeticException) { + text_input_error.setText(R.string.zeroDivision) + } + } else { + last = value + } + } catch (e: java.lang.NumberFormatException) { + op = item + } + } + inputBox.setText(result.toString()) + operations = mutableListOf() + operations.add(result.toString()) + } +} + + diff --git a/app/src/main/java/com/mthrsj/calculator/MainActivity.kt b/app/src/main/java/com/mthrsj/calculator/MainActivity.kt new file mode 100644 index 0000000..b622a49 --- /dev/null +++ b/app/src/main/java/com/mthrsj/calculator/MainActivity.kt @@ -0,0 +1,53 @@ +package com.mthrsj.calculator + +import android.content.Intent +import android.os.Bundle +import android.view.MenuItem +import androidx.appcompat.app.AppCompatActivity +import androidx.appcompat.widget.Toolbar +import kotlinx.android.synthetic.main.activity_main.* + +class MainActivity : AppCompatActivity() { + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_main) + var appToolbar: Toolbar = findViewById(toolbar.id) + setSupportActionBar(appToolbar) + + basicButton.setOnClickListener { + navigateBasic() + } + complexButton.setOnClickListener { + navigateComplex() + } + } + + private fun navigateComplex() { + var it = Intent(this, ComplexCalculator::class.java) + startActivity(it) + } + + private fun navigateBasic() { + var it = Intent(this, BasicCalculator::class.java) + startActivity(it) + } + + override fun onOptionsItemSelected(item: MenuItem) = when (item.title) { + "Basic" -> { + navigateBasic() + true + } + + "Complex" -> { + navigateComplex() + true + } + + else -> { + // If we got here, the user's action was not recognized. + // Invoke the superclass to handle it. + super.onOptionsItemSelected(item) + } + } +} diff --git a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 0000000..c7bd21d --- /dev/null +++ b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..2408e30 --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/rounded_button.xml b/app/src/main/res/drawable/rounded_button.xml new file mode 100644 index 0000000..d8e2eb8 --- /dev/null +++ b/app/src/main/res/drawable/rounded_button.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_basic_calculator.xml b/app/src/main/res/layout/activity_basic_calculator.xml new file mode 100644 index 0000000..1faa4fa --- /dev/null +++ b/app/src/main/res/layout/activity_basic_calculator.xml @@ -0,0 +1,113 @@ + + + + + + + + + + + +