From 4cd4d841a1458e1076b7c82aeba7f35163386ef9 Mon Sep 17 00:00:00 2001 From: developerraman Date: Mon, 28 Sep 2020 04:25:58 -0700 Subject: [PATCH] Initial commit --- .gitignore | 14 + .idea/.name | 1 + .idea/codeStyles/Project.xml | 116 +++++ .idea/gradle.xml | 16 + .idea/misc.xml | 9 + .idea/runConfigurations.xml | 12 + app/.gitignore | 1 + app/build.gradle | 31 ++ app/proguard-rules.pro | 21 + .../ArrestTB/ExampleInstrumentedTest.java | 27 ++ app/src/main/AndroidManifest.xml | 26 ++ app/src/main/assets/fa-regular-400.ttf | Bin 0 -> 34052 bytes .../ArrestTB/FontAwesome.java | 36 ++ .../ArrestTB/Login_Screen.java | 70 +++ .../ArrestTB/MainActivity.java | 14 + .../ArrestTB/Navigation_Top.java | 74 ++++ .../ArrestTB/Patient_Details.java | 160 +++++++ .../drawable-v24/ic_launcher_foreground.xml | 34 ++ .../res/drawable/ic_launcher_background.xml | 170 ++++++++ app/src/main/res/drawable/text_back.xml | 7 + app/src/main/res/font/fontstyle.ttf | Bin 0 -> 45352 bytes .../res/layout/activity_login__screen.xml | 404 +++++++++++++++++ app/src/main/res/layout/activity_main.xml | 18 + .../res/layout/activity_navigation__top.xml | 50 +++ .../res/layout/activity_patient__details.xml | 410 ++++++++++++++++++ app/src/main/res/layout/head.xml | 51 +++ app/src/main/res/menu/menu.xml | 30 ++ .../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 -> 2963 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 4905 bytes app/src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2060 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 2783 bytes app/src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4490 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 6895 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 6387 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 10413 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 9128 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 15132 bytes app/src/main/res/values/colors.xml | 6 + app/src/main/res/values/strings.xml | 25 ++ app/src/main/res/values/styles.xml | 11 + .../ArrestTB/ExampleUnitTest.java | 17 + build.gradle | 27 ++ gradle.properties | 20 + gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 54329 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 172 ++++++++ gradlew.bat | 84 ++++ settings.gradle | 2 + 50 files changed, 2182 insertions(+) create mode 100644 .gitignore create mode 100644 .idea/.name create mode 100644 .idea/codeStyles/Project.xml create mode 100644 .idea/gradle.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/runConfigurations.xml 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/ShanMukhaInnovations/ArrestTB/ExampleInstrumentedTest.java create mode 100644 app/src/main/AndroidManifest.xml create mode 100644 app/src/main/assets/fa-regular-400.ttf create mode 100644 app/src/main/java/com/ShanMukhaInnovations/ArrestTB/FontAwesome.java create mode 100644 app/src/main/java/com/ShanMukhaInnovations/ArrestTB/Login_Screen.java create mode 100644 app/src/main/java/com/ShanMukhaInnovations/ArrestTB/MainActivity.java create mode 100644 app/src/main/java/com/ShanMukhaInnovations/ArrestTB/Navigation_Top.java create mode 100644 app/src/main/java/com/ShanMukhaInnovations/ArrestTB/Patient_Details.java 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/text_back.xml create mode 100644 app/src/main/res/font/fontstyle.ttf create mode 100644 app/src/main/res/layout/activity_login__screen.xml create mode 100644 app/src/main/res/layout/activity_main.xml create mode 100644 app/src/main/res/layout/activity_navigation__top.xml create mode 100644 app/src/main/res/layout/activity_patient__details.xml create mode 100644 app/src/main/res/layout/head.xml create mode 100644 app/src/main/res/menu/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_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_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_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_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_round.png create mode 100644 app/src/main/res/values/colors.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/ShanMukhaInnovations/ArrestTB/ExampleUnitTest.java 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..603b140 --- /dev/null +++ b/.gitignore @@ -0,0 +1,14 @@ +*.iml +.gradle +/local.properties +/.idea/caches +/.idea/libraries +/.idea/modules.xml +/.idea/workspace.xml +/.idea/navEditor.xml +/.idea/assetWizardSettings.xml +.DS_Store +/build +/captures +.externalNativeBuild +.cxx diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 0000000..348a07e --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +Spin Tube App \ No newline at end of file diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml new file mode 100644 index 0000000..681f41a --- /dev/null +++ b/.idea/codeStyles/Project.xml @@ -0,0 +1,116 @@ + + + + + + + +
+ + + + xmlns:android + + ^$ + + + +
+
+ + + + xmlns:.* + + ^$ + + + BY_NAME + +
+
+ + + + .*:id + + http://schemas.android.com/apk/res/android + + + +
+
+ + + + .*:name + + http://schemas.android.com/apk/res/android + + + +
+
+ + + + name + + ^$ + + + +
+
+ + + + style + + ^$ + + + +
+
+ + + + .* + + ^$ + + + BY_NAME + +
+
+ + + + .* + + http://schemas.android.com/apk/res/android + + + ANDROID_ATTRIBUTE_ORDER + +
+
+ + + + .* + + .* + + + BY_NAME + +
+
+
+
+
+
\ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml new file mode 100644 index 0000000..d291b3d --- /dev/null +++ b/.idea/gradle.xml @@ -0,0 +1,16 @@ + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..ba388bb --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,9 @@ + + + + + + + + \ 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/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..f55135b --- /dev/null +++ b/app/build.gradle @@ -0,0 +1,31 @@ +apply plugin: 'com.android.application' + +android { + compileSdkVersion 29 + buildToolsVersion "29.0.3" + defaultConfig { + applicationId "com.ShanMukhaInnovations.ArrestTB" + minSdkVersion 16 + targetSdkVersion 29 + versionCode 1 + versionName "1.0" + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + } + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + } +} + +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation 'androidx.appcompat:appcompat:1.0.2' + implementation 'androidx.constraintlayout:constraintlayout:1.1.3' + testImplementation 'junit:junit:4.12' + implementation 'com.google.android.material:material:1.0.0' + + androidTestImplementation 'androidx.test.ext:junit:1.1.0' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1' +} 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/ShanMukhaInnovations/ArrestTB/ExampleInstrumentedTest.java b/app/src/androidTest/java/com/ShanMukhaInnovations/ArrestTB/ExampleInstrumentedTest.java new file mode 100644 index 0000000..70da2c8 --- /dev/null +++ b/app/src/androidTest/java/com/ShanMukhaInnovations/ArrestTB/ExampleInstrumentedTest.java @@ -0,0 +1,27 @@ +package com.ShanMukhaInnovations.ArrestTB; + +import android.content.Context; + +import androidx.test.platform.app.InstrumentationRegistry; +import androidx.test.ext.junit.runners.AndroidJUnit4; + +import org.junit.Test; +import org.junit.runner.RunWith; + +import static org.junit.Assert.*; + +/** + * Instrumented test, which will execute on an Android device. + * + * @see Testing documentation + */ +@RunWith(AndroidJUnit4.class) +public class ExampleInstrumentedTest { + @Test + public void useAppContext() { + // Context of the app under test. + Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); + + assertEquals("com.ShanMukhaInnovations.ArrestTB", appContext.getPackageName()); + } +} diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..b1e495b --- /dev/null +++ b/app/src/main/AndroidManifest.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/assets/fa-regular-400.ttf b/app/src/main/assets/fa-regular-400.ttf new file mode 100644 index 0000000000000000000000000000000000000000..42a04fde4e7f0cc410fed06e0596087fadf9b732 GIT binary patch literal 34052 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

Pt||wMzx9^w zx#3J&RwSw3V?-mFXsWMHW^$b@DI`mhat6F2`+dJ~U>!D9#rhXXO9QARJ99AM|BO952Kl;+3Fae{Q9+)e7jj7|N5Ej{TgBMfvnB(kR|f_vu+NPi@(6 zE%L@6UG0L^j77A(v_Q>Yq_X@lpJZFOZi)wvQeGbS7cZ?oj{e2P`ivyjVxTC-Lr5n7 z+CmBZU9v8sb|jtm)3X>gUZldt;My!RG>ywj3Rj|~Vmj0mK&v33u?72ZWz@y|!Gj~E zON+2hj)!r_3B>^VfAk>pmoCAINMpurWSFZ9-~cT|M_js3zTcHskvpe=7!h=GWlRe~ zMgR<%`<*G-gUT1kIEus%)x~fEK_ToS0yJL0dBM3^8NX6O%->4*3d{3?D==|eY6d*1 z7cjw731yQHCf>;B5KK96QSkYIo&Z{4gLL z9l(cO*g4zKFuT*?50&YIlamKaqjV%#M0cKl2sYg}01_@)ViX+JDLb%T$>yQ`@`$Gx zMB@VFohZz9*>VX0n?*#}$})!a7o;jUHSl|&dmK-}irDWr?=jltkoQ;K5M%6EZcAFc zp*cDnjc?muTWe^VW~@EQx{NgpN^NayEc_$AU14wVceKpJBjZLBMM}ts!j~l21=;PX z{MK}b-r5q5VP(PpnDKkPJ{~+0@Ou4qJRZbvd;P5|d2@<}buO~rN+q{8gl`Yjnp!wG zZXq81SIhqmwy>{45+qNO+eh5AjD|t#L5CE0??8v3zPV<9lr6GOFWY+BWfP!OG>n!%u{qHjXMs8%OirY6sR3(V<| z(%Nu77JZw?_Wp0tqCaB2xv52O7BhNl(|6B3ZilE*sFUk25a$zRLaN2|2c)Bo?d^^C9IB5;x70t;-g_)nAA3;K_w5tK2Ytpd zpBa^PNqQz`dP0);0n^aF;J0o67pN5pw9!gX3W;PPX{N*N+uMzhXUmqjXUjkWi=e(8 z%P4hX537@W-}Wd)-KtaBun~?}OdOOwmTK12@Sa`iZnqDJ<|hy{4GTNMT?TTnCXnz! zY9pr@=#ZwqScr$cVFIJIyrDiufwL6vgl0D)_M)DNouS2XSw0_Y$~VshzuwdhDKDFg zJYYSkc}qXkL*Bm(MYXsL`D!K*)6aXo$L+u$);B-8KPxuHn)5x~O?s@Usr1CbXyC`t z)4ZX^;ILuqv4F1Rl(>)cDVoy@pm~1^IeiTH%EcpKt4ISvavvA)V6-FgsaR;hFd~*4 z61*5IXa!oE%H4!Kfk(QSiV=ja>?9mJu#JbJgCfk%>=lo=&AhJjezv3Iu2?wH5|?uI z%va-&WNT$xQCe$NUp%6;`{Zasu951*dMTQal2WbQ4UI!?mlASPu8%0qh~Un95~_J; zV;j3a(XO$B!H8~L#iHCJ(PVw3LBG}X)MLes9B7EhiZ>A`#A;HKQ4Zt zI}p(j!%kHPzL+OLFtkEEIvS?aMowbqgPbS>5r{R(y^{6jjvN0=7og~vCY z)r74DkUS;pw3xXlPV{fZx3n_hxx1cUt+|&Y3gO~D$BArlHG>lbT;o142MEJXG;I~@ zluYcisqh(22Xe(+Q!LV1`URG1sb^H7nL4}SlspRb8_`a4Y#)eIPic4Bf+G&xYR z$Tdhp!<-XK_ZxDURg4725<2q1VfRH^YIyH`I~OV@2DW(OiEyS-3mKpW;dIZ++~%Z| zCcNd52h~JK9cF5sr56>?x2boTpxNo@KHf*EW4-N9)Nk=59->8Ev&0^d&Mk2>!C4v2^^utk zl1r6ZQxGLpYS*Nmq^9I#U6&7?Xc4z1m7u?_TB%6`7)ib3FxjqNRkYjtqf%>=>D7mc z);qpLniF-9^!I?$adFe}=(i^ibAt`xHletgw41R=J1byy{=9>`Dqo5!-O3)6w)v%J#nQNCRI(aj-x$Pu0X z`kJ6@&~J|a5ok?*NAN>(Is!Ri7O8TaT?;n0C1B`Y);>}mUiVy%c)C{nPI;J}2&l&Q8u|gge70jsN0837L!$l+OKcDD^|YO5 zosb^VyWKTB^+FRoqOi$1P`bhfw?;ugMyL04U#}8~1z52^peX?@9T0m|GyHy7GR#kX zLXs-drO(ZmUVIA#^2N6>b_uK0o{8!MlC)zd!*cUG%IR&TA9t~a(oecsLq~}E{mL;1(g@- zLr~+_Rn(-#(0b?{I83i5s|m?R0G**#AE+;?Z8lh6EvyM!!xE}0NZ6~DfkU5Lt&`;{ zf{q?qc@t_RAIq{h58Df^k~%1y5YD34`zf|$APvdI#`+>!00^BW%}Hqhay95@OehCC z6dZdgc+O5JCTg0N2gIU$4Jj@CgHI#PzMDp1lZ|b!@((_Ap`}wn=)el@5d& zqM_Je>~;fj=ED#4_+x(;3zTlL>5@IAsFOypv)%}c(cD%hv7xranAK$ZGltO+SC#Xf zJ0$6_&)TJHYD6nq9*@WJo|NUY&f~CKguGre=`*yrKOlw7H(%wdH%Ia~0xujDTpI$f83$s?4oTEFRl6Ym2&@hvTwm33Mj`I}6lfdHQnpalNt0n_< z0whCzpEyc6YFH!t0VX_cb3sRRmzrju4~H%Ii10 zeZE>bk@FfXISl4VU&oxVLheg1(lU(~@kBQNj7JZ}Q@WmthjfpitG_&+lJ}t&qkq}m)AFDSoiDrRG-|rUm5eB zs8tkK>1R@1mhSrjh78au+p>cVUZzFS%ds2&>)O_aRmUve~Lw#ds4a;N@ zLXv46mNLy5X_y`5JIWm8zSO^P306;5G)jj*PlG~N}=hCuq8U`n}pYcZyYts*?zT8$>ani6l` zI($i%7UiIW^g(%KBQzQ1=(K9PpmrgGXkB|?lO{q|Wot)o5j9%#)(3w2Q*;vJ{UpE= z;=w?}f5KIM3?Q63JP?j8!2XnU0%Fmxm3GH^ir#V|*vRe(STX_F$cbF6w=^!67BG$r zi{Zq^HpUlU9A(3>NG=KtdrvK}Z$O6sFy!|J?C=Doom}-uWV^+P>waBf!X&9?AuSCM z+azUbC&U&oPLf>dg6uoRoRbAU=t{Gkal*eM!VJQhZYQ`}dEi9wcc+i>>pjL{&pgEV6&wnwmVGike!K&1NbE}DH^wMfghy!~+7EiNGG7{p0>#t;$vsi`d5))qyO9>O0*>=tA5>X6>7Hjn2w zt*lIA$QJ1lI>EWO3fEz*D@b$5VLI3esLZTf3l)VpfaXBS*7~`C69V6=oWcxJ0_^jT zQ!D)r)xj_r+N~+92Ta(h&jue4iqbvO*Gh{})lf3&uErSQdo+|TbHd|XY>maX*4Nid zpg$v}%RNp(qBle%9eNW7y~%^#T+emQ3R^tZNIO!-4i@6JG|W>l)q!e-q~8evEc9uF zcJz%ju|nB?cwJ4%o9GpC~b#zTBPW-o=voYM9ErNyM5gDp^$`Oj6=WFvI? zxr!OJj7*SH9Pj0eKHpJ(3Ix*8m*+9pD8im>_|@PILJB|**bZN^5enpK=EL4WN`bS2 zfcBy)6Za92tpX36eMoJCApe-x99!0^Ek`U*Sv873@A#1j*W(xXWD|e@ab?d;2 zj%f)5hLZ$}U#k@QKMp}-54Hvx*Y$Bl)%R3O``<)}qR+YK+u&UV&b`!Bvl}VRw@d(u z;bep?<^6p+XPT^=2WEDz);4FozCz6ZQ8f^phF0n}XxCbOg8Sq_ez@u30wY%}2yS^|Nc_A??SR!PVDGnlPut-q+na{aNQR!p-ORT;xn`k7=& z*e^^OM|j;$Tl0HM|C;|={#!fu=Eon}+dnoIcqq>nl#7~H`lKwg+coW?(lg5cE?m0w z^2?VlahVs4l5{BzYeWW!k_c{uEzFheaEbw6fibjGN)%QfXJUeefW}nDPV}<@XkSgB zH;9{$H028{&gH9jfI-`u>cjRRi0ly|)D7#el9%S!#4EjGPhEx_{&g94DZ_ebE0nuV z`1PaMOGLs_YFlDORKTDEm3VmuK3iJ4L=W%-pM#6Aa}$rR+rVZ)YB#iQXSU_8vENv= z6yR*AcTt_(u>*z&-M~qY8gyE{S}P;CYdZgNqq6RkpnWU*8aZ*z?G(>gUT3)W%;i{j zE1S)CJ$f5o7Fl_G?lt#8T5^PxisPTY_Qps=w^wCvl5Mdbdad=cxoUN3v5<9T+aj$u zAc{cPM0+@Kf>7RUu~4Lc1WHk+fb>M0Ke_WjjA*`PE=h^&?C-s8*&guFG-mzSR-stKw_!-=yrp$_gvf z=UuU$$EB=}C#`$VAwH#uT{jVhvvyop*9$m?oAMmX(kP-E5V*>@RylvOwZ2T_p?TZ6 zzL@1~`Y4a+8>qgMe`u*Z_oo9{KSJ5u#zy1+~D!gr_Y3>Zv&l4a2T z0^X{5@2oQ~AhvcFxWx^K0zFLYj@I^j*}f2U=f75#NnIV6$Mr<}iwJLkL5Z%AIr&@4a}y zt5v&*gYyo|JbDulKd(ecCG$C_H&k7Hqe4h?p}+Meg~R?lSYj##=D6ngL*8O{&s?V& zT`6kCy8g_Q)Ug(S*7hfspA5;6URRk2LTqW%$<>T&cJZHTjOiZRr-jlY^J1+<7TZfb ztuZm3t;o1W=N}O@D;mUTHE6OLh(-gdC~6I@tCuV7`X*m5)s9x(fl=a21Q-zsOSB#@ zOUMBQ7|2p6vqNedwFIHl&a6f}qpD>wGkCa9KG)YwT(hbR*mpV_yELuqmD)m1<^$2n zk!rNuHq~w0xJCVPa?dtf>e~iO)idWjwWXg?>rtYrOIR{hleo^~xh_#t`X}s?M}y^+ zJX)&j6OvNd;*LzqN!lqnl?WzDpuerDQF8jDqK7K!m=`pR^t`>$^LW$CI7b!-v>m(% zaYfu(Q6wHq9Rn05cQB6PTD)b)cvH(5IK9u07=v0HCV{x^4iUa`15|DA)VERLb^?QY{|b>#LW8qQ1{xD>2nJG{h3A=H*I!UK#81 z-qIbyw%5jCGN=FnAW4JmLIEc)6&YlJ!q>#zFMGA7Ce7AIRCVO<>0luA2RYtrpli2J zZ)wqeN{?hqJ^X;ZUU?RDj}mkbk=qaIc|7!uh-o?n+JUiweIJwy27DkOhMs!V!iJA;i0trS6nNO^&Uhz1p&1hPSiXnV16PSKbZ@^`2F zq1L)^W1_hK2$&|b) zns?+4NkImzu>3mP6_R~&D7@`(qsp}GFw>M`s98Wnt)A;;5-BKrNJax=e>6vpUESuF*sreR;C z=dl;>v#>$MxaPPAa=__o96}@m=RZXAuwu|gz!Y$&0UP3Fvf7YHtBbQ5Z5RwDiDtWm zQC&wDxz12U{VI@1yonF7MZ-Ah38p9CJedx9YVMu6xAYNDPQC8To6lUQW-ZV3#p%B* z_a7&fp|zCqzi&ho7go{3LE2jhA4ihDzQMshU$S>_@Y75mIx#qSVyD6OkB+|T^eLyC zk5-e-)HP|O1}vheiwYT5fq9jvArHXv!PN%4+`E;$9$W9Nu{|B(c$rni!yTTNE2Wf5S(e(jA3F-J%#;5}`+^R=1cLze)SL}H z_@s&bds_;IK{V7Lf_jmNs!L`6W36Vv^#s?=!F1uiIY(y+APTt&k+!|i($AL+FBduy?pmTS`3hQ!CD%tzK~Gauya@i#{lW|?7ZJkC{Z)zE|S z{5mD)Pxz4hJJF|-wvyi_!)@GTm8$Hff}_1f;m;#cs!TuD?Pij1DVq?ShTp*v`{^qA z;o}v80kdE~FjTT1sJans=D2*gLRxS&epjxok^^W=w^D>?nGeJeumy<@W<$;nDJGU! zKAqtoZ;;kPTh>+ofCKsQbh;Jm{6(e)B9VYB(@}+=#9tTmID_T>QiaEvtbPvb8=|%y zMc9|BO7NdRcJYXapw@L!gS2N@K9=Ew;==zC{tWPQb)J&vI1Skq^At9|7`NiOHXFH& zgXJI4$h<}afxDFz6h02&+mcL+2(8xC{{m__^E0z0`~g?OG)7Gf#3HcCP)@jr-8 zns%vtoWx4EYUF@%6T7TpK^x)ggI3jY+Og5Pe(4AIGj)WwQ_*bu(JF39QUr ztT}grWWoL2oz>U@Qc=!b<~aR1e*CbeGxfSIyX!iLIct85<=jiWD;%BpHbd>)zP(dL zEJrmw6cdHjfaQ5vh6mSG=t;H{u828Ek9~|ch3`T&Hogz&%r!}iYnDI07R0OvsOLxq zz}yDNZ;l$tvu;{#!kRWDz%vk&x3&!-hbj_XAqm_OAW6fx7WAJhYZI`|zg*^f;DZ;h z3AenWPbfb97``hC#;q$*SNA*dxeZ_ruH|_UamW@2YQA}oKUKTJ!(40daY-Fb`^8m1a zgk3oX0a&3S?UgN-nrjqTy|<~&QrzCww!N*GiUmbj7scQ(uG+Tmga6abSRh;F1_sM7 zxdj7ZOO~mOEL-6~H?MAgAQr34zgRY0R*roWtnAgY>`DL*oONUigcXFRBH6MT1e1@p zX2SZSHLSkM1kK*D1q5OXUfOx06UWc_RKs#9WT@5)0y({g=MVAic--N+vTcL}*O6^A z)U4mDsrfxR_qiW-i{sTSKR$+y1Ms6P)##P(!VZ{lHq@gBhB;0URauwW+I>Plvfi%b&0easv5{e_ zx-qp?JBYrATh=NpNzu#-ujV$ljrmP(l{T)Mxz)Dv$_e}#?wN2zC&xx!4cZ_d`#17| z;N85A*AZRDFJYDGa{1lOm3j)CL93)$b!7#Z>S6qG}nnB`wr<)d`sr<2< zmV^{@e#?{m#C7Z*H(wF5?0Gk>3URT?O`Af8c+pM6Dj;5Q(|#c&^}6YRph>s8>7Y<2 z{jQsipv?d7rlTnHYj}2<3`P#DrHBJcGeCTcn-=jax*v1X66}g!anrI;U|Bb<2nX3C zZdw(3*gv~zQ#dMabJHH7OZ=*v_6u3baMJ<7macQtL7^bs?WQ9r^IzO_6lMMqRBj6E zhaMJYVEs4=E7~05!&=GV?wl|CGGo(CH-F0m=&Tv^ z|7i}#Hk7VxLaQM3_xEc+NX{4rChBpbwX>Z`OC^L)lgk@v68pnAK`BOlH z`%z{N{UIDaHIaO9;#h7rc?Q34ot&PUCM-yvK0b9eIXf|z96LLnoST}Oy#MqZN)yV? z;Z?IRVRz&I1b@vOs;@-ZF8=y6C_XngJ-e;D`vlrG=HP7C@hRLW_e>HhaOIQLL%b25 z{y&YM8@*$7F8sd%C#?aYzvaJyb!Vf$r;*775u8tAG6*;f)J$h&%Jwjec@Y@tV}2H3 zK^9_R>~?^CCRv=-uv%8f5?Crnu8<^a!n(jTYi1diWjWTuT3H*`f_1P?xKX-U59?)p zte@rC0M=C(*%r1Hzy3YQwqpa~A-Eof*)F!5?O}V_b!;EIp6zEhup5PUvjg~@@tfGq z><}Aax3F8;ZR{|+ogHDX6W+y+ve&aa*q!Vyb~n3+-OEPV7(2#}vvD@TPOy{g6g$oC zWB0R3c7~m0Q*4^Ofz7a4HpkAf2iSw`A@(qPguRhH%HG7@%xHnlZ?U(sx3Tl=?d&o3 z+w2|eo$Oug-RyDp9`;`LJM02`f<4LJ$1bwp#nK7<+WX9$JUcfwBcGd{m{E@7_ucQ; zCr{7Lb&gHW$tNbqPU^>|rtUv8Hgmsn`pnqL33+1t^qe(!`pm>^=ke1s$0sMOvPkUcgLq5JS!gu!;ojk9+*&P-*9ehW zkWT<0oetFF#@wlMXO7Kwo}2c#DXK=AJ$F_;n~(D8{$A5TtCJvcGL$HKYAF~@Sim^psx^aB%4{@A(k(^F3J zfz#s?Q%;q~r^YAH>nA2KkY`VNrpKlyW;)SvXD8GX=jM)0O&Vt>9-QUbCJl*$TLIwi z?8G<_Vw&&|Pg+yQ?wdG1*LiYg>fE&LUYtA2FFiog+{{T} z>8!yqWd<|BbZ~|MaL{M=`03f%shL?1zcG3G5e%+VXm%RqtyLVGm~kJT7&|`UEssB% zacLs67(wVVok2?uy46W%g%v5(!(2A*PH_f32;@m&sEu$`1+uYG%TiJv;Rv$i@8=#@q~MI)SS4VV^aQPoAFU(;zZ7gQ-Ec+_!QxUY|>-7hPAD zBXnq8_PJ^4_s zZgg^Jl*zGkCr_FD$O~9b(y77opFVqTW_srI?1VCR8bq16Gh1E;$7V>;M*mTK=}HoQA7@yE%G{in5Pta6(qAD@ N_?!Gs9&yi){$ISCfQtYC literal 0 HcmV?d00001 diff --git a/app/src/main/java/com/ShanMukhaInnovations/ArrestTB/FontAwesome.java b/app/src/main/java/com/ShanMukhaInnovations/ArrestTB/FontAwesome.java new file mode 100644 index 0000000..d462343 --- /dev/null +++ b/app/src/main/java/com/ShanMukhaInnovations/ArrestTB/FontAwesome.java @@ -0,0 +1,36 @@ +package com.ShanMukhaInnovations.ArrestTB; + + +import android.content.Context; +import android.graphics.Typeface; +import android.util.AttributeSet; + +import androidx.appcompat.widget.AppCompatTextView; + +public class FontAwesome extends AppCompatTextView { + + + public FontAwesome(Context context, AttributeSet attrs, int defStyle) { + super(context, attrs, defStyle); + init(); + } + + public FontAwesome(Context context, AttributeSet attrs) { + super(context, attrs); + init(); + } + + public FontAwesome(Context context) { + super(context); + init(); + } + + private void init() { + + //Font name should not contain "/". + Typeface tf = Typeface.createFromAsset(getContext().getAssets(), + "fa-regular-400.ttf"); + setTypeface(tf); + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/ShanMukhaInnovations/ArrestTB/Login_Screen.java b/app/src/main/java/com/ShanMukhaInnovations/ArrestTB/Login_Screen.java new file mode 100644 index 0000000..2f7d7c7 --- /dev/null +++ b/app/src/main/java/com/ShanMukhaInnovations/ArrestTB/Login_Screen.java @@ -0,0 +1,70 @@ +package com.ShanMukhaInnovations.ArrestTB; + +import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.widget.AppCompatCheckBox; + +import android.content.Intent; +import android.os.Bundle; +import android.text.method.HideReturnsTransformationMethod; +import android.text.method.PasswordTransformationMethod; +import android.view.View; +import android.widget.Button; +import android.widget.CompoundButton; +import android.widget.EditText; +import android.widget.Toast; + + +public class Login_Screen extends AppCompatActivity { + + private EditText Username; + private Button login; + private android.widget.EditText Password; + private AppCompatCheckBox checkbox; + + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_login__screen); + Username=findViewById(R.id.username); + Password=findViewById(R.id.password); + login=findViewById(R.id.login); + checkbox = (AppCompatCheckBox) findViewById(R.id.showpassword); + Password = (EditText) findViewById(R.id.password); + checkbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) { + if (isChecked) { + // show password + Password.setTransformationMethod(HideReturnsTransformationMethod.getInstance()); + } else { + // hide password + Password.setTransformationMethod(PasswordTransformationMethod.getInstance()); + } + } + }); + login.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + String username = Username.getText().toString(); + String password = Password.getText().toString(); + if(username.length()==0 || password.length()==0) + { + Toast.makeText(Login_Screen.this, "Please Fill all the fields", Toast.LENGTH_SHORT).show(); + + } + + else if (username.equals("Arresttb") && password.equals("tb123")) { + Intent intent = new Intent(Login_Screen.this, Patient_Details.class); + startActivity(intent); + + } else { + Toast.makeText(Login_Screen.this, "Invalid Credentials ", Toast.LENGTH_SHORT).show(); + + } + } + }); + + + } +} diff --git a/app/src/main/java/com/ShanMukhaInnovations/ArrestTB/MainActivity.java b/app/src/main/java/com/ShanMukhaInnovations/ArrestTB/MainActivity.java new file mode 100644 index 0000000..7d6fa82 --- /dev/null +++ b/app/src/main/java/com/ShanMukhaInnovations/ArrestTB/MainActivity.java @@ -0,0 +1,14 @@ +package com.ShanMukhaInnovations.ArrestTB; + +import androidx.appcompat.app.AppCompatActivity; + +import android.os.Bundle; + +public class MainActivity extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + } +} diff --git a/app/src/main/java/com/ShanMukhaInnovations/ArrestTB/Navigation_Top.java b/app/src/main/java/com/ShanMukhaInnovations/ArrestTB/Navigation_Top.java new file mode 100644 index 0000000..84698af --- /dev/null +++ b/app/src/main/java/com/ShanMukhaInnovations/ArrestTB/Navigation_Top.java @@ -0,0 +1,74 @@ +package com.ShanMukhaInnovations.ArrestTB; + +import android.content.Intent; +import android.content.SharedPreferences; +import android.os.Bundle; +import android.view.MenuItem; +import android.view.View; +import android.view.Window; +import android.view.WindowManager; +import android.widget.LinearLayout; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.appcompat.app.ActionBarDrawerToggle; +import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.widget.Toolbar; +import androidx.drawerlayout.widget.DrawerLayout; + +import com.google.android.material.navigation.NavigationView; + +public class Navigation_Top extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener { + + protected DrawerLayout draw; + private LinearLayout line; + private Toolbar tool; + + @Override + public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) { + switch (menuItem.getItemId()) + { + case R.id.logout: + Intent farmer_sale=new Intent(this,Login_Screen.class); + startActivity(farmer_sale); + break; + + } + return true; + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_navigation__top); + + + draw = findViewById(R.id.Drawer); + line = findViewById(R.id.line); + tool = findViewById(R.id.tollbar); + NavigationView navigationView = findViewById(R.id.navigation); + navigationView.setNavigationItemSelectedListener(this); + + setSupportActionBar(tool); + + Window window = getWindow(); + window.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); + + + ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, draw, tool, R.string.open_navigation_drawer, R.string.close_navigation_drawer) { + @Override + public void onDrawerSlide(View drawerView, float slideOffset) { + super.onDrawerSlide(drawerView, slideOffset); + float sidebar = drawerView.getWidth() * slideOffset; + line.setTranslationX(sidebar); + } + }; + + draw.addDrawerListener(toggle); + toggle.syncState(); + View headerView = navigationView.getHeaderView(0); + + + } +} + diff --git a/app/src/main/java/com/ShanMukhaInnovations/ArrestTB/Patient_Details.java b/app/src/main/java/com/ShanMukhaInnovations/ArrestTB/Patient_Details.java new file mode 100644 index 0000000..4ea007c --- /dev/null +++ b/app/src/main/java/com/ShanMukhaInnovations/ArrestTB/Patient_Details.java @@ -0,0 +1,160 @@ +package com.ShanMukhaInnovations.ArrestTB; + +import androidx.appcompat.app.AppCompatActivity; + +import android.app.DatePickerDialog; +import android.app.TimePickerDialog; +import android.content.Context; +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.widget.ArrayAdapter; +import android.widget.DatePicker; +import android.widget.EditText; +import android.widget.Spinner; +import android.widget.TextView; +import android.widget.TimePicker; + +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; + +public class Patient_Details extends Navigation_Top { + EditText date_data1,time_data1,Dob; + TextView Gender; + private int mHour, mMinute; + + + DatePickerDialog datepicker; + + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + LayoutInflater inflater = (LayoutInflater) this + .getSystemService(Context.LAYOUT_INFLATER_SERVICE); + View contentView = inflater.inflate(R.layout.activity_patient__details, null, false); + draw.addView(contentView, 0); + + // setContentView(R.layout.activity_patient__details); + Date date = new Date(); + DateFormat TimeFormat = new SimpleDateFormat("hh:mm a"); + DateFormat dateFormat = new SimpleDateFormat("dd MMM yyyy"); + + String stringTime = TimeFormat.format(new Date()).toString(); + String stringDate = dateFormat.format(new Date()).toString(); + Gender=findViewById(R.id.gender); + + + + + + date_data1=findViewById(R.id.date_data); + time_data1=findViewById(R.id.time_data); + Dob=findViewById(R.id.dob); + time_data1.setText("Time :"+stringTime); + + date_data1.setText(stringDate); + time_data1.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + final Calendar c = Calendar.getInstance(); + mHour = c.get(Calendar.HOUR_OF_DAY); + mMinute = c.get(Calendar.MINUTE); + + + // Launch Time Picker Dialog + TimePickerDialog timePickerDialog = new TimePickerDialog(Patient_Details.this, + new TimePickerDialog.OnTimeSetListener() { + + @Override + public void onTimeSet(TimePicker view, int hourOfDay, + int minute) { + + time_data1.setText("Time :"+hourOfDay + ":" + minute); + } + }, mHour, mMinute, false); + timePickerDialog.show(); + + + } + }); + date_data1.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + final Calendar cldr = Calendar.getInstance(); + int day = cldr.get(Calendar.DAY_OF_MONTH); + int month = cldr.get(Calendar.MONTH); + int year = cldr.get(Calendar.YEAR); + // date picker dialog + datepicker = new DatePickerDialog(Patient_Details.this, + new DatePickerDialog.OnDateSetListener() { + @Override + public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { + date_data1.setText(dayOfMonth + "/" + (monthOfYear + 1) + "/" + year); + } + }, year, month, day); + datepicker.show(); + } + }); + + Dob.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + final Calendar cldr = Calendar.getInstance(); + int day = cldr.get(Calendar.DAY_OF_MONTH); + int month = cldr.get(Calendar.MONTH); + int year = cldr.get(Calendar.YEAR); + // date picker dialog + datepicker = new DatePickerDialog(Patient_Details.this, + new DatePickerDialog.OnDateSetListener() { + @Override + public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { + Dob.setText(dayOfMonth + "/" + (monthOfYear + 1) + "/" + year); + } + }, year, month, day); + datepicker.show(); + } + }); + + + + Spinner Spinner_gender = findViewById(R.id.spinner_gender); + + ArrayAdapter adapter = ArrayAdapter.createFromResource(this, + R.array.Gender, android.R.layout.simple_spinner_item); + + adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); + Spinner_gender.setAdapter(adapter); + + Spinner Spinner_sample = findViewById(R.id.spinner_sample); + ArrayAdapter sample_adapter = ArrayAdapter.createFromResource(this, + R.array.Type_Of_Sample, android.R.layout.simple_spinner_item); + + sample_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); + Spinner_sample.setAdapter(sample_adapter); + + + Spinner Spinner_validity = findViewById(R.id.spinner_validity); + + ArrayAdapter Validity_adapter = ArrayAdapter.createFromResource(this, + R.array.Validity, android.R.layout.simple_spinner_item); + + Validity_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); + Spinner_validity.setAdapter(Validity_adapter); + + + + + + + + + } + + + + + +} 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..1f6bb29 --- /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..0d025f9 --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/text_back.xml b/app/src/main/res/drawable/text_back.xml new file mode 100644 index 0000000..b155c77 --- /dev/null +++ b/app/src/main/res/drawable/text_back.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/font/fontstyle.ttf b/app/src/main/res/font/fontstyle.ttf new file mode 100644 index 0000000000000000000000000000000000000000..0ac5e51e846ad2b9b2736ab46731704f5af31011 GIT binary patch literal 45352 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/layout/activity_login__screen.xml b/app/src/main/res/layout/activity_login__screen.xml new file mode 100644 index 0000000..48ee0cf --- /dev/null +++ b/app/src/main/res/layout/activity_login__screen.xml @@ -0,0 +1,404 @@ + + + + + + + + + + + + + + + /> + + + + +