Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
B
baby-monitoring-android-app
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
R24-145
baby-monitoring-android-app
Commits
c6a05d88
Commit
c6a05d88
authored
Oct 19, 2024
by
Ishankha K.C
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
connect document management api
parent
1c4c583c
Changes
15
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
664 additions
and
37 deletions
+664
-37
.idea/deploymentTargetSelector.xml
.idea/deploymentTargetSelector.xml
+18
-0
.idea/other.xml
.idea/other.xml
+340
-0
app/src/main/java/com/kaluwa/enterprises/babycare/activities/UserProfileActivity.java
.../enterprises/babycare/activities/UserProfileActivity.java
+7
-2
app/src/main/java/com/kaluwa/enterprises/babycare/config/ApiConfig.java
...ava/com/kaluwa/enterprises/babycare/config/ApiConfig.java
+7
-1
app/src/main/java/com/kaluwa/enterprises/babycare/constants/DocumentTypes.java
.../kaluwa/enterprises/babycare/constants/DocumentTypes.java
+9
-0
app/src/main/java/com/kaluwa/enterprises/babycare/constants/TableNames.java
...com/kaluwa/enterprises/babycare/constants/TableNames.java
+8
-0
app/src/main/java/com/kaluwa/enterprises/babycare/dialogs/AddBabyDialog.java
...om/kaluwa/enterprises/babycare/dialogs/AddBabyDialog.java
+1
-1
app/src/main/java/com/kaluwa/enterprises/babycare/dialogs/EditBabyDialog.java
...m/kaluwa/enterprises/babycare/dialogs/EditBabyDialog.java
+223
-4
app/src/main/java/com/kaluwa/enterprises/babycare/dto/BabyDto.java
...ain/java/com/kaluwa/enterprises/babycare/dto/BabyDto.java
+1
-0
app/src/main/java/com/kaluwa/enterprises/babycare/dto/UserDto.java
...ain/java/com/kaluwa/enterprises/babycare/dto/UserDto.java
+1
-0
app/src/main/java/com/kaluwa/enterprises/babycare/dto/responseDto/AuthenticationDto.java
...terprises/babycare/dto/responseDto/AuthenticationDto.java
+1
-0
app/src/main/java/com/kaluwa/enterprises/babycare/service/DocumentApiService.java
...luwa/enterprises/babycare/service/DocumentApiService.java
+23
-0
app/src/main/java/com/kaluwa/enterprises/babycare/service/UserApiService.java
...m/kaluwa/enterprises/babycare/service/UserApiService.java
+0
-7
app/src/main/res/layout/add_baby_view_layout.xml
app/src/main/res/layout/add_baby_view_layout.xml
+16
-16
app/src/main/res/layout/edit_baby_view_layout.xml
app/src/main/res/layout/edit_baby_view_layout.xml
+9
-6
No files found.
.idea/deploymentTargetSelector.xml
0 → 100644
View file @
c6a05d88
<?xml version="1.0" encoding="UTF-8"?>
<project
version=
"4"
>
<component
name=
"deploymentTargetSelector"
>
<selectionStates>
<SelectionState
runConfigName=
"app"
>
<option
name=
"selectionMode"
value=
"DROPDOWN"
/>
<DropdownSelection
timestamp=
"2024-09-03T20:20:16.727982200Z"
>
<Target
type=
"DEFAULT_BOOT"
>
<handle>
<DeviceId
pluginId=
"LocalEmulator"
identifier=
"path=D:\Softwares\toolbox\.android\.android\avd\Pixel_XL_API_29.avd"
/>
</handle>
</Target>
</DropdownSelection>
<DialogSelection
/>
</SelectionState>
</selectionStates>
</component>
</project>
\ No newline at end of file
.idea/other.xml
0 → 100644
View file @
c6a05d88
<?xml version="1.0" encoding="UTF-8"?>
<project
version=
"4"
>
<component
name=
"direct_access_persist.xml"
>
<option
name=
"deviceSelectionList"
>
<list>
<PersistentDeviceSelectionData>
<option
name=
"api"
value=
"27"
/>
<option
name=
"brand"
value=
"DOCOMO"
/>
<option
name=
"codename"
value=
"F01L"
/>
<option
name=
"id"
value=
"F01L"
/>
<option
name=
"manufacturer"
value=
"FUJITSU"
/>
<option
name=
"name"
value=
"F-01L"
/>
<option
name=
"screenDensity"
value=
"360"
/>
<option
name=
"screenX"
value=
"720"
/>
<option
name=
"screenY"
value=
"1280"
/>
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option
name=
"api"
value=
"28"
/>
<option
name=
"brand"
value=
"DOCOMO"
/>
<option
name=
"codename"
value=
"SH-01L"
/>
<option
name=
"id"
value=
"SH-01L"
/>
<option
name=
"manufacturer"
value=
"SHARP"
/>
<option
name=
"name"
value=
"AQUOS sense2 SH-01L"
/>
<option
name=
"screenDensity"
value=
"480"
/>
<option
name=
"screenX"
value=
"1080"
/>
<option
name=
"screenY"
value=
"2160"
/>
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option
name=
"api"
value=
"34"
/>
<option
name=
"brand"
value=
"Lenovo"
/>
<option
name=
"codename"
value=
"TB370FU"
/>
<option
name=
"id"
value=
"TB370FU"
/>
<option
name=
"manufacturer"
value=
"Lenovo"
/>
<option
name=
"name"
value=
"Tab P12"
/>
<option
name=
"screenDensity"
value=
"340"
/>
<option
name=
"screenX"
value=
"1840"
/>
<option
name=
"screenY"
value=
"2944"
/>
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option
name=
"api"
value=
"31"
/>
<option
name=
"brand"
value=
"samsung"
/>
<option
name=
"codename"
value=
"a51"
/>
<option
name=
"id"
value=
"a51"
/>
<option
name=
"manufacturer"
value=
"Samsung"
/>
<option
name=
"name"
value=
"Galaxy A51"
/>
<option
name=
"screenDensity"
value=
"420"
/>
<option
name=
"screenX"
value=
"1080"
/>
<option
name=
"screenY"
value=
"2400"
/>
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option
name=
"api"
value=
"34"
/>
<option
name=
"brand"
value=
"google"
/>
<option
name=
"codename"
value=
"akita"
/>
<option
name=
"id"
value=
"akita"
/>
<option
name=
"manufacturer"
value=
"Google"
/>
<option
name=
"name"
value=
"Pixel 8a"
/>
<option
name=
"screenDensity"
value=
"420"
/>
<option
name=
"screenX"
value=
"1080"
/>
<option
name=
"screenY"
value=
"2400"
/>
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option
name=
"api"
value=
"33"
/>
<option
name=
"brand"
value=
"samsung"
/>
<option
name=
"codename"
value=
"b0q"
/>
<option
name=
"id"
value=
"b0q"
/>
<option
name=
"manufacturer"
value=
"Samsung"
/>
<option
name=
"name"
value=
"Galaxy S22 Ultra"
/>
<option
name=
"screenDensity"
value=
"600"
/>
<option
name=
"screenX"
value=
"1440"
/>
<option
name=
"screenY"
value=
"3088"
/>
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option
name=
"api"
value=
"32"
/>
<option
name=
"brand"
value=
"google"
/>
<option
name=
"codename"
value=
"bluejay"
/>
<option
name=
"id"
value=
"bluejay"
/>
<option
name=
"manufacturer"
value=
"Google"
/>
<option
name=
"name"
value=
"Pixel 6a"
/>
<option
name=
"screenDensity"
value=
"420"
/>
<option
name=
"screenX"
value=
"1080"
/>
<option
name=
"screenY"
value=
"2400"
/>
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option
name=
"api"
value=
"34"
/>
<option
name=
"brand"
value=
"google"
/>
<option
name=
"codename"
value=
"caiman"
/>
<option
name=
"id"
value=
"caiman"
/>
<option
name=
"manufacturer"
value=
"Google"
/>
<option
name=
"name"
value=
"Pixel 9 Pro"
/>
<option
name=
"screenDensity"
value=
"360"
/>
<option
name=
"screenX"
value=
"960"
/>
<option
name=
"screenY"
value=
"2142"
/>
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option
name=
"api"
value=
"34"
/>
<option
name=
"brand"
value=
"google"
/>
<option
name=
"codename"
value=
"comet"
/>
<option
name=
"id"
value=
"comet"
/>
<option
name=
"manufacturer"
value=
"Google"
/>
<option
name=
"name"
value=
"Pixel 9 Pro Fold"
/>
<option
name=
"screenDensity"
value=
"390"
/>
<option
name=
"screenX"
value=
"2076"
/>
<option
name=
"screenY"
value=
"2152"
/>
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option
name=
"api"
value=
"29"
/>
<option
name=
"brand"
value=
"samsung"
/>
<option
name=
"codename"
value=
"crownqlteue"
/>
<option
name=
"id"
value=
"crownqlteue"
/>
<option
name=
"manufacturer"
value=
"Samsung"
/>
<option
name=
"name"
value=
"Galaxy Note9"
/>
<option
name=
"screenDensity"
value=
"420"
/>
<option
name=
"screenX"
value=
"2220"
/>
<option
name=
"screenY"
value=
"1080"
/>
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option
name=
"api"
value=
"34"
/>
<option
name=
"brand"
value=
"samsung"
/>
<option
name=
"codename"
value=
"dm3q"
/>
<option
name=
"id"
value=
"dm3q"
/>
<option
name=
"manufacturer"
value=
"Samsung"
/>
<option
name=
"name"
value=
"Galaxy S23 Ultra"
/>
<option
name=
"screenDensity"
value=
"600"
/>
<option
name=
"screenX"
value=
"1440"
/>
<option
name=
"screenY"
value=
"3088"
/>
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option
name=
"api"
value=
"34"
/>
<option
name=
"brand"
value=
"samsung"
/>
<option
name=
"codename"
value=
"e1q"
/>
<option
name=
"id"
value=
"e1q"
/>
<option
name=
"manufacturer"
value=
"Samsung"
/>
<option
name=
"name"
value=
"Galaxy S24"
/>
<option
name=
"screenDensity"
value=
"480"
/>
<option
name=
"screenX"
value=
"1080"
/>
<option
name=
"screenY"
value=
"2340"
/>
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option
name=
"api"
value=
"33"
/>
<option
name=
"brand"
value=
"google"
/>
<option
name=
"codename"
value=
"felix"
/>
<option
name=
"id"
value=
"felix"
/>
<option
name=
"manufacturer"
value=
"Google"
/>
<option
name=
"name"
value=
"Pixel Fold"
/>
<option
name=
"screenDensity"
value=
"420"
/>
<option
name=
"screenX"
value=
"2208"
/>
<option
name=
"screenY"
value=
"1840"
/>
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option
name=
"api"
value=
"34"
/>
<option
name=
"brand"
value=
"google"
/>
<option
name=
"codename"
value=
"felix"
/>
<option
name=
"id"
value=
"felix"
/>
<option
name=
"manufacturer"
value=
"Google"
/>
<option
name=
"name"
value=
"Pixel Fold"
/>
<option
name=
"screenDensity"
value=
"420"
/>
<option
name=
"screenX"
value=
"2208"
/>
<option
name=
"screenY"
value=
"1840"
/>
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option
name=
"api"
value=
"33"
/>
<option
name=
"brand"
value=
"google"
/>
<option
name=
"codename"
value=
"felix_camera"
/>
<option
name=
"id"
value=
"felix_camera"
/>
<option
name=
"manufacturer"
value=
"Google"
/>
<option
name=
"name"
value=
"Pixel Fold (Camera-enabled)"
/>
<option
name=
"screenDensity"
value=
"420"
/>
<option
name=
"screenX"
value=
"2208"
/>
<option
name=
"screenY"
value=
"1840"
/>
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option
name=
"api"
value=
"33"
/>
<option
name=
"brand"
value=
"samsung"
/>
<option
name=
"codename"
value=
"gts8uwifi"
/>
<option
name=
"id"
value=
"gts8uwifi"
/>
<option
name=
"manufacturer"
value=
"Samsung"
/>
<option
name=
"name"
value=
"Galaxy Tab S8 Ultra"
/>
<option
name=
"screenDensity"
value=
"320"
/>
<option
name=
"screenX"
value=
"1848"
/>
<option
name=
"screenY"
value=
"2960"
/>
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option
name=
"api"
value=
"34"
/>
<option
name=
"brand"
value=
"google"
/>
<option
name=
"codename"
value=
"husky"
/>
<option
name=
"id"
value=
"husky"
/>
<option
name=
"manufacturer"
value=
"Google"
/>
<option
name=
"name"
value=
"Pixel 8 Pro"
/>
<option
name=
"screenDensity"
value=
"390"
/>
<option
name=
"screenX"
value=
"1008"
/>
<option
name=
"screenY"
value=
"2244"
/>
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option
name=
"api"
value=
"30"
/>
<option
name=
"brand"
value=
"motorola"
/>
<option
name=
"codename"
value=
"java"
/>
<option
name=
"id"
value=
"java"
/>
<option
name=
"manufacturer"
value=
"Motorola"
/>
<option
name=
"name"
value=
"G20"
/>
<option
name=
"screenDensity"
value=
"280"
/>
<option
name=
"screenX"
value=
"720"
/>
<option
name=
"screenY"
value=
"1600"
/>
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option
name=
"api"
value=
"34"
/>
<option
name=
"brand"
value=
"google"
/>
<option
name=
"codename"
value=
"komodo"
/>
<option
name=
"id"
value=
"komodo"
/>
<option
name=
"manufacturer"
value=
"Google"
/>
<option
name=
"name"
value=
"Pixel 9 Pro XL"
/>
<option
name=
"screenDensity"
value=
"360"
/>
<option
name=
"screenX"
value=
"1008"
/>
<option
name=
"screenY"
value=
"2244"
/>
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option
name=
"api"
value=
"33"
/>
<option
name=
"brand"
value=
"google"
/>
<option
name=
"codename"
value=
"lynx"
/>
<option
name=
"id"
value=
"lynx"
/>
<option
name=
"manufacturer"
value=
"Google"
/>
<option
name=
"name"
value=
"Pixel 7a"
/>
<option
name=
"screenDensity"
value=
"420"
/>
<option
name=
"screenX"
value=
"1080"
/>
<option
name=
"screenY"
value=
"2400"
/>
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option
name=
"api"
value=
"31"
/>
<option
name=
"brand"
value=
"google"
/>
<option
name=
"codename"
value=
"oriole"
/>
<option
name=
"id"
value=
"oriole"
/>
<option
name=
"manufacturer"
value=
"Google"
/>
<option
name=
"name"
value=
"Pixel 6"
/>
<option
name=
"screenDensity"
value=
"420"
/>
<option
name=
"screenX"
value=
"1080"
/>
<option
name=
"screenY"
value=
"2400"
/>
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option
name=
"api"
value=
"33"
/>
<option
name=
"brand"
value=
"google"
/>
<option
name=
"codename"
value=
"panther"
/>
<option
name=
"id"
value=
"panther"
/>
<option
name=
"manufacturer"
value=
"Google"
/>
<option
name=
"name"
value=
"Pixel 7"
/>
<option
name=
"screenDensity"
value=
"420"
/>
<option
name=
"screenX"
value=
"1080"
/>
<option
name=
"screenY"
value=
"2400"
/>
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option
name=
"api"
value=
"34"
/>
<option
name=
"brand"
value=
"samsung"
/>
<option
name=
"codename"
value=
"q5q"
/>
<option
name=
"id"
value=
"q5q"
/>
<option
name=
"manufacturer"
value=
"Samsung"
/>
<option
name=
"name"
value=
"Galaxy Z Fold5"
/>
<option
name=
"screenDensity"
value=
"420"
/>
<option
name=
"screenX"
value=
"1812"
/>
<option
name=
"screenY"
value=
"2176"
/>
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option
name=
"api"
value=
"34"
/>
<option
name=
"brand"
value=
"samsung"
/>
<option
name=
"codename"
value=
"q6q"
/>
<option
name=
"id"
value=
"q6q"
/>
<option
name=
"manufacturer"
value=
"Samsung"
/>
<option
name=
"name"
value=
"SM-F956B"
/>
<option
name=
"screenDensity"
value=
"420"
/>
<option
name=
"screenX"
value=
"1856"
/>
<option
name=
"screenY"
value=
"2160"
/>
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option
name=
"api"
value=
"30"
/>
<option
name=
"brand"
value=
"google"
/>
<option
name=
"codename"
value=
"r11"
/>
<option
name=
"id"
value=
"r11"
/>
<option
name=
"manufacturer"
value=
"Google"
/>
<option
name=
"name"
value=
"Pixel Watch"
/>
<option
name=
"screenDensity"
value=
"320"
/>
<option
name=
"screenX"
value=
"384"
/>
<option
name=
"screenY"
value=
"384"
/>
<option
name=
"type"
value=
"WEAR_OS"
/>
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option
name=
"api"
value=
"30"
/>
<option
name=
"brand"
value=
"google"
/>
<option
name=
"codename"
value=
"redfin"
/>
<option
name=
"id"
value=
"redfin"
/>
<option
name=
"manufacturer"
value=
"Google"
/>
<option
name=
"name"
value=
"Pixel 5"
/>
<option
name=
"screenDensity"
value=
"440"
/>
<option
name=
"screenX"
value=
"1080"
/>
<option
name=
"screenY"
value=
"2340"
/>
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option
name=
"api"
value=
"34"
/>
<option
name=
"brand"
value=
"google"
/>
<option
name=
"codename"
value=
"shiba"
/>
<option
name=
"id"
value=
"shiba"
/>
<option
name=
"manufacturer"
value=
"Google"
/>
<option
name=
"name"
value=
"Pixel 8"
/>
<option
name=
"screenDensity"
value=
"420"
/>
<option
name=
"screenX"
value=
"1080"
/>
<option
name=
"screenY"
value=
"2400"
/>
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option
name=
"api"
value=
"33"
/>
<option
name=
"brand"
value=
"google"
/>
<option
name=
"codename"
value=
"tangorpro"
/>
<option
name=
"id"
value=
"tangorpro"
/>
<option
name=
"manufacturer"
value=
"Google"
/>
<option
name=
"name"
value=
"Pixel Tablet"
/>
<option
name=
"screenDensity"
value=
"320"
/>
<option
name=
"screenX"
value=
"1600"
/>
<option
name=
"screenY"
value=
"2560"
/>
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option
name=
"api"
value=
"34"
/>
<option
name=
"brand"
value=
"google"
/>
<option
name=
"codename"
value=
"tokay"
/>
<option
name=
"id"
value=
"tokay"
/>
<option
name=
"manufacturer"
value=
"Google"
/>
<option
name=
"name"
value=
"Pixel 9"
/>
<option
name=
"screenDensity"
value=
"420"
/>
<option
name=
"screenX"
value=
"1080"
/>
<option
name=
"screenY"
value=
"2424"
/>
</PersistentDeviceSelectionData>
<PersistentDeviceSelectionData>
<option
name=
"api"
value=
"29"
/>
<option
name=
"brand"
value=
"samsung"
/>
<option
name=
"codename"
value=
"x1q"
/>
<option
name=
"id"
value=
"x1q"
/>
<option
name=
"manufacturer"
value=
"Samsung"
/>
<option
name=
"name"
value=
"Galaxy S20"
/>
<option
name=
"screenDensity"
value=
"480"
/>
<option
name=
"screenX"
value=
"1440"
/>
<option
name=
"screenY"
value=
"3200"
/>
</PersistentDeviceSelectionData>
</list>
</option>
</component>
</project>
\ No newline at end of file
app/src/main/java/com/kaluwa/enterprises/babycare/activities/UserProfileActivity.java
View file @
c6a05d88
...
@@ -2,6 +2,8 @@ package com.kaluwa.enterprises.babycare.activities;
...
@@ -2,6 +2,8 @@ package com.kaluwa.enterprises.babycare.activities;
import
static
com
.
kaluwa
.
enterprises
.
babycare
.
config
.
TokenSaver
.
clearToken
;
import
static
com
.
kaluwa
.
enterprises
.
babycare
.
config
.
TokenSaver
.
clearToken
;
import
static
com
.
kaluwa
.
enterprises
.
babycare
.
config
.
TokenSaver
.
getToken
;
import
static
com
.
kaluwa
.
enterprises
.
babycare
.
config
.
TokenSaver
.
getToken
;
import
static
com
.
kaluwa
.
enterprises
.
babycare
.
constants
.
DocumentTypes
.
IMAGE
;
import
static
com
.
kaluwa
.
enterprises
.
babycare
.
constants
.
TableNames
.
USERS
;
import
static
com
.
kaluwa
.
enterprises
.
babycare
.
utils
.
Utils
.
animationChanger
;
import
static
com
.
kaluwa
.
enterprises
.
babycare
.
utils
.
Utils
.
animationChanger
;
import
static
com
.
kaluwa
.
enterprises
.
babycare
.
utils
.
Utils
.
convertByteArrayToBitmap
;
import
static
com
.
kaluwa
.
enterprises
.
babycare
.
utils
.
Utils
.
convertByteArrayToBitmap
;
import
static
com
.
kaluwa
.
enterprises
.
babycare
.
utils
.
Utils
.
disableEditText
;
import
static
com
.
kaluwa
.
enterprises
.
babycare
.
utils
.
Utils
.
disableEditText
;
...
@@ -47,6 +49,7 @@ import com.kaluwa.enterprises.babycare.dto.UserDto;
...
@@ -47,6 +49,7 @@ import com.kaluwa.enterprises.babycare.dto.UserDto;
import
com.kaluwa.enterprises.babycare.dto.responseDto.AuthenticationDto
;
import
com.kaluwa.enterprises.babycare.dto.responseDto.AuthenticationDto
;
import
com.kaluwa.enterprises.babycare.dto.responseDto.ResponseDto
;
import
com.kaluwa.enterprises.babycare.dto.responseDto.ResponseDto
;
import
com.kaluwa.enterprises.babycare.error.ErrorDto
;
import
com.kaluwa.enterprises.babycare.error.ErrorDto
;
import
com.kaluwa.enterprises.babycare.service.DocumentApiService
;
import
com.kaluwa.enterprises.babycare.service.UserApiService
;
import
com.kaluwa.enterprises.babycare.service.UserApiService
;
import
com.kaluwa.enterprises.babycare.utils.Utils
;
import
com.kaluwa.enterprises.babycare.utils.Utils
;
import
com.yalantis.ucrop.UCrop
;
import
com.yalantis.ucrop.UCrop
;
...
@@ -76,6 +79,7 @@ public class UserProfileActivity extends AppCompatActivity {
...
@@ -76,6 +79,7 @@ public class UserProfileActivity extends AppCompatActivity {
private
SpinKitView
progressBar
;
private
SpinKitView
progressBar
;
private
View
overlay
;
private
View
overlay
;
private
UserApiService
userApiService
;
private
UserApiService
userApiService
;
private
DocumentApiService
documentApiService
;
private
AuthenticationDto
authDto
;
private
AuthenticationDto
authDto
;
private
ActivityResultLauncher
<
Intent
>
pickImageLauncher
;
private
ActivityResultLauncher
<
Intent
>
pickImageLauncher
;
private
ActivityResultLauncher
<
Intent
>
cropImageLauncher
;
private
ActivityResultLauncher
<
Intent
>
cropImageLauncher
;
...
@@ -96,6 +100,7 @@ public class UserProfileActivity extends AppCompatActivity {
...
@@ -96,6 +100,7 @@ public class UserProfileActivity extends AppCompatActivity {
Toast
.
makeText
(
this
,
"Error getting token, Please refresh"
,
Toast
.
LENGTH_SHORT
).
show
();
Toast
.
makeText
(
this
,
"Error getting token, Please refresh"
,
Toast
.
LENGTH_SHORT
).
show
();
}
}
userApiService
=
ApiConfig
.
getInstance
().
getUserApi
(
authDto
.
getTokenDto
().
getToken
());
userApiService
=
ApiConfig
.
getInstance
().
getUserApi
(
authDto
.
getTokenDto
().
getToken
());
documentApiService
=
ApiConfig
.
getInstance
().
getDocumentApi
(
authDto
.
getTokenDto
().
getToken
());
// progress
// progress
progressBar
=
findViewById
(
R
.
id
.
progress_bar
);
progressBar
=
findViewById
(
R
.
id
.
progress_bar
);
...
@@ -204,7 +209,7 @@ public class UserProfileActivity extends AppCompatActivity {
...
@@ -204,7 +209,7 @@ public class UserProfileActivity extends AppCompatActivity {
RequestBody
requestFile
=
RequestBody
.
create
(
MediaType
.
parse
(
"image/jpeg"
),
compressedData
);
RequestBody
requestFile
=
RequestBody
.
create
(
MediaType
.
parse
(
"image/jpeg"
),
compressedData
);
MultipartBody
.
Part
body
=
MultipartBody
.
Part
.
createFormData
(
"image"
,
"image.jpg"
,
requestFile
);
MultipartBody
.
Part
body
=
MultipartBody
.
Part
.
createFormData
(
"image"
,
"image.jpg"
,
requestFile
);
Call
<
ResponseDto
>
call
=
userApiService
.
uploadUserImage
(
authDto
.
getUserId
(),
body
);
Call
<
ResponseDto
>
call
=
documentApiService
.
uploadUserImage
(
IMAGE
,
USERS
,
authDto
.
getUniqKey
(),
body
);
call
.
enqueue
(
new
Callback
<
ResponseDto
>()
{
call
.
enqueue
(
new
Callback
<
ResponseDto
>()
{
@Override
@Override
public
void
onResponse
(
Call
<
ResponseDto
>
call
,
Response
<
ResponseDto
>
response
)
{
public
void
onResponse
(
Call
<
ResponseDto
>
call
,
Response
<
ResponseDto
>
response
)
{
...
@@ -243,7 +248,7 @@ public class UserProfileActivity extends AppCompatActivity {
...
@@ -243,7 +248,7 @@ public class UserProfileActivity extends AppCompatActivity {
}
}
private
void
loadUserProfileImage
()
{
private
void
loadUserProfileImage
()
{
Call
<
ResponseBody
>
call
=
userApiService
.
getImage
(
authDto
.
getUserId
());
Call
<
ResponseBody
>
call
=
documentApiService
.
getImage
(
USERS
,
authDto
.
getUniqKey
());
call
.
enqueue
(
new
Callback
<
ResponseBody
>()
{
call
.
enqueue
(
new
Callback
<
ResponseBody
>()
{
@Override
@Override
public
void
onResponse
(
Call
<
ResponseBody
>
call
,
Response
<
ResponseBody
>
response
)
{
public
void
onResponse
(
Call
<
ResponseBody
>
call
,
Response
<
ResponseBody
>
response
)
{
...
...
app/src/main/java/com/kaluwa/enterprises/babycare/config/ApiConfig.java
View file @
c6a05d88
...
@@ -7,6 +7,7 @@ import com.fasterxml.jackson.databind.SerializationFeature;
...
@@ -7,6 +7,7 @@ import com.fasterxml.jackson.databind.SerializationFeature;
import
com.fasterxml.jackson.datatype.jsr310.JavaTimeModule
;
import
com.fasterxml.jackson.datatype.jsr310.JavaTimeModule
;
import
com.kaluwa.enterprises.babycare.service.AuthApiService
;
import
com.kaluwa.enterprises.babycare.service.AuthApiService
;
import
com.kaluwa.enterprises.babycare.service.BabyApiService
;
import
com.kaluwa.enterprises.babycare.service.BabyApiService
;
import
com.kaluwa.enterprises.babycare.service.DocumentApiService
;
import
com.kaluwa.enterprises.babycare.service.UserApiService
;
import
com.kaluwa.enterprises.babycare.service.UserApiService
;
import
okhttp3.OkHttpClient
;
import
okhttp3.OkHttpClient
;
...
@@ -16,7 +17,7 @@ import retrofit2.converter.gson.GsonConverterFactory;
...
@@ -16,7 +17,7 @@ import retrofit2.converter.gson.GsonConverterFactory;
import
retrofit2.converter.jackson.JacksonConverterFactory
;
import
retrofit2.converter.jackson.JacksonConverterFactory
;
public
class
ApiConfig
{
public
class
ApiConfig
{
private
static
final
String
BASE_URL
=
"http://192.168.
63.103
:8080/api/v1/baby-care/"
;
private
static
final
String
BASE_URL
=
"http://192.168.
1.2
:8080/api/v1/baby-care/"
;
private
static
ApiConfig
instance
;
private
static
ApiConfig
instance
;
private
static
Retrofit
retrofitAuth
=
null
;
private
static
Retrofit
retrofitAuth
=
null
;
private
static
Retrofit
retrofitOther
=
null
;
private
static
Retrofit
retrofitOther
=
null
;
...
@@ -71,4 +72,9 @@ public class ApiConfig {
...
@@ -71,4 +72,9 @@ public class ApiConfig {
AUTH_TOKEN
=
JWTToken
;
AUTH_TOKEN
=
JWTToken
;
return
retrofitOther
.
create
(
BabyApiService
.
class
);
return
retrofitOther
.
create
(
BabyApiService
.
class
);
}
}
public
DocumentApiService
getDocumentApi
(
String
JWTToken
)
{
AUTH_TOKEN
=
JWTToken
;
return
retrofitOther
.
create
(
DocumentApiService
.
class
);
}
}
}
app/src/main/java/com/kaluwa/enterprises/babycare/constants/DocumentTypes.java
0 → 100644
View file @
c6a05d88
package
com.kaluwa.enterprises.babycare.constants
;
public
class
DocumentTypes
{
public
static
final
String
PROFILE_IMAGE
=
"profile_image"
;
public
static
final
String
BABY_PROFILE_IMAGE
=
"baby_profile_image"
;
public
static
final
String
IMAGE
=
"image"
;
}
app/src/main/java/com/kaluwa/enterprises/babycare/constants/TableNames.java
0 → 100644
View file @
c6a05d88
package
com.kaluwa.enterprises.babycare.constants
;
public
class
TableNames
{
public
static
final
String
USERS
=
"users"
;
public
static
final
String
BABIES
=
"babies"
;
}
app/src/main/java/com/kaluwa/enterprises/babycare/dialogs/AddBabyDialog.java
View file @
c6a05d88
...
@@ -240,7 +240,7 @@ public class AddBabyDialog extends AppCompatDialogFragment {
...
@@ -240,7 +240,7 @@ public class AddBabyDialog extends AppCompatDialogFragment {
etSEmergRelation
=
view
.
findViewById
(
R
.
id
.
abv_et_s_emergency_relationship
);
etSEmergRelation
=
view
.
findViewById
(
R
.
id
.
abv_et_s_emergency_relationship
);
etSEmergConNumber
=
view
.
findViewById
(
R
.
id
.
abv_et_s_emergency_con_number
);
etSEmergConNumber
=
view
.
findViewById
(
R
.
id
.
abv_et_s_emergency_con_number
);
etNotes
=
view
.
findViewById
(
R
.
id
.
abv_et_notes
);
etNotes
=
view
.
findViewById
(
R
.
id
.
abv_et_notes
);
ibPhoto
=
view
.
findViewById
(
R
.
id
.
abv_ib_photo
);
//
ibPhoto = view.findViewById(R.id.abv_ib_photo);
switchStatus
=
view
.
findViewById
(
R
.
id
.
abv_switch_status
);
switchStatus
=
view
.
findViewById
(
R
.
id
.
abv_switch_status
);
progressbar
=
view
.
findViewById
(
R
.
id
.
progress_bar
);
progressbar
=
view
.
findViewById
(
R
.
id
.
progress_bar
);
...
...
app/src/main/java/com/kaluwa/enterprises/babycare/dialogs/EditBabyDialog.java
View file @
c6a05d88
package
com.kaluwa.enterprises.babycare.dialogs
;
package
com.kaluwa.enterprises.babycare.dialogs
;
import
static
com
.
kaluwa
.
enterprises
.
babycare
.
config
.
TokenSaver
.
getToken
;
import
static
com
.
kaluwa
.
enterprises
.
babycare
.
constants
.
DocumentTypes
.
IMAGE
;
import
static
com
.
kaluwa
.
enterprises
.
babycare
.
constants
.
TableNames
.
BABIES
;
import
static
com
.
kaluwa
.
enterprises
.
babycare
.
constants
.
TableNames
.
USERS
;
import
static
com
.
kaluwa
.
enterprises
.
babycare
.
utils
.
Utils
.
convertByteArrayToBitmap
;
import
static
com
.
kaluwa
.
enterprises
.
babycare
.
utils
.
Utils
.
dpToPx
;
import
static
com
.
kaluwa
.
enterprises
.
babycare
.
utils
.
Utils
.
dpToPx
;
import
static
com
.
kaluwa
.
enterprises
.
babycare
.
utils
.
Utils
.
getDateTimeFormatter
;
import
static
com
.
kaluwa
.
enterprises
.
babycare
.
utils
.
Utils
.
getDateTimeFormatter
;
import
static
com
.
kaluwa
.
enterprises
.
babycare
.
utils
.
Utils
.
loader
;
import
static
com
.
kaluwa
.
enterprises
.
babycare
.
utils
.
Utils
.
setUpDatePicker
;
import
static
com
.
kaluwa
.
enterprises
.
babycare
.
utils
.
Utils
.
setUpDatePicker
;
import
android.annotation.SuppressLint
;
import
android.annotation.SuppressLint
;
import
android.app.Activity
;
import
android.app.AlertDialog
;
import
android.app.AlertDialog
;
import
android.app.Dialog
;
import
android.app.Dialog
;
import
android.content.Context
;
import
android.content.Context
;
import
android.content.Intent
;
import
android.graphics.Bitmap
;
import
android.graphics.BitmapFactory
;
import
android.graphics.Color
;
import
android.graphics.Color
;
import
android.net.Uri
;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
android.text.TextUtils
;
import
android.text.TextUtils
;
import
android.util.DisplayMetrics
;
import
android.util.DisplayMetrics
;
import
android.util.Log
;
import
android.view.Gravity
;
import
android.view.Gravity
;
import
android.view.LayoutInflater
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.View
;
...
@@ -20,27 +32,56 @@ import android.widget.Button;
...
@@ -20,27 +32,56 @@ import android.widget.Button;
import
android.widget.EditText
;
import
android.widget.EditText
;
import
android.widget.ImageButton
;
import
android.widget.ImageButton
;
import
android.widget.TextView
;
import
android.widget.TextView
;
import
android.widget.Toast
;
import
androidx.activity.result.ActivityResultLauncher
;
import
androidx.activity.result.contract.ActivityResultContracts
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.annotation.Nullable
;
import
androidx.appcompat.app.AppCompatDialogFragment
;
import
androidx.appcompat.app.AppCompatDialogFragment
;
import
androidx.appcompat.widget.SwitchCompat
;
import
androidx.appcompat.widget.SwitchCompat
;
import
com.fasterxml.jackson.core.JsonProcessingException
;
import
com.github.ybq.android.spinkit.SpinKitView
;
import
com.github.ybq.android.spinkit.SpinKitView
;
import
com.google.android.material.imageview.ShapeableImageView
;
import
com.google.gson.Gson
;
import
com.kaluwa.enterprises.babycare.R
;
import
com.kaluwa.enterprises.babycare.R
;
import
com.kaluwa.enterprises.babycare.activities.UserProfileActivity
;
import
com.kaluwa.enterprises.babycare.config.ApiConfig
;
import
com.kaluwa.enterprises.babycare.dto.BabyDto
;
import
com.kaluwa.enterprises.babycare.dto.BabyDto
;
import
com.kaluwa.enterprises.babycare.dto.responseDto.AuthenticationDto
;
import
com.kaluwa.enterprises.babycare.dto.responseDto.ResponseDto
;
import
com.kaluwa.enterprises.babycare.error.ErrorDto
;
import
com.kaluwa.enterprises.babycare.service.DocumentApiService
;
import
com.yalantis.ucrop.UCrop
;
import
java.io.ByteArrayOutputStream
;
import
java.io.File
;
import
java.io.InputStream
;
import
java.time.LocalDate
;
import
java.time.LocalDate
;
import
okhttp3.MediaType
;
import
okhttp3.MultipartBody
;
import
okhttp3.RequestBody
;
import
okhttp3.ResponseBody
;
import
retrofit2.Call
;
import
retrofit2.Callback
;
import
retrofit2.Response
;
public
class
EditBabyDialog
extends
AppCompatDialogFragment
{
public
class
EditBabyDialog
extends
AppCompatDialogFragment
{
private
static
final
String
TAG
=
"EditBabyDialogTAG"
;
EditBabyDialogInterface
babyDialogInterface
;
EditBabyDialogInterface
babyDialogInterface
;
private
EditText
etFirstname
,
etLastname
,
dateDob
,
etSex
,
etWeight
,
etHeight
,
etBloodType
,
etEyeColor
,
etHairColor
,
etAllergies
,
etMediConditions
,
etMedication
,
etVaccinateRecs
,
etDocName
,
etDocContact
,
etHealthInsuranceInfo
,
dateFirstSmile
,
dateFirstTooth
,
dateFirstWord
,
dateFirstStep
,
etFavFoods
,
etDisFoods
,
etPEmergConName
,
etPEmergRelation
,
etPEmergConNumber
,
etSEmergConName
,
etSEmergRelation
,
etSEmergConNumber
,
etNotes
;
private
EditText
etFirstname
,
etLastname
,
dateDob
,
etSex
,
etWeight
,
etHeight
,
etBloodType
,
etEyeColor
,
etHairColor
,
etAllergies
,
etMediConditions
,
etMedication
,
etVaccinateRecs
,
etDocName
,
etDocContact
,
etHealthInsuranceInfo
,
dateFirstSmile
,
dateFirstTooth
,
dateFirstWord
,
dateFirstStep
,
etFavFoods
,
etDisFoods
,
etPEmergConName
,
etPEmergRelation
,
etPEmergConNumber
,
etSEmergConName
,
etSEmergRelation
,
etSEmergConNumber
,
etNotes
;
private
ImageButton
ibPhoto
;
private
ShapeableImageView
ibPhoto
;
private
SwitchCompat
switchStatus
;
private
SwitchCompat
switchStatus
;
private
View
overlay
;
private
View
overlay
;
private
SpinKitView
progressbar
;
private
SpinKitView
progressbar
;
private
BabyDto
babyDto
;
private
BabyDto
babyDto
;
private
ActivityResultLauncher
<
Intent
>
pickImageLauncher
;
private
ActivityResultLauncher
<
Intent
>
cropImageLauncher
;
private
AuthenticationDto
authDto
;
private
DocumentApiService
documentApiService
;
public
EditBabyDialog
(
BabyDto
babyDto
)
{
public
EditBabyDialog
(
BabyDto
babyDto
)
{
this
.
babyDto
=
babyDto
;
this
.
babyDto
=
babyDto
;
...
@@ -68,11 +109,21 @@ public class EditBabyDialog extends AppCompatDialogFragment {
...
@@ -68,11 +109,21 @@ public class EditBabyDialog extends AppCompatDialogFragment {
builder
.
setCustomTitle
(
title
);
builder
.
setCustomTitle
(
title
);
// initialize user api service
try
{
authDto
=
getToken
(
getContext
());
}
catch
(
JsonProcessingException
e
)
{
Log
.
e
(
TAG
,
"Error: "
+
e
.
getMessage
());
Toast
.
makeText
(
getContext
(),
"Error getting token, Please refresh"
,
Toast
.
LENGTH_SHORT
).
show
();
}
documentApiService
=
ApiConfig
.
getInstance
().
getDocumentApi
(
authDto
.
getTokenDto
().
getToken
());
// find views by id
// find views by id
findViews
(
view
);
findViews
(
view
);
// Pre-fill data
// Pre-fill data
prefillData
();
prefillData
();
loadBabyImage
();
AlertDialog
dialog
=
builder
.
create
();
AlertDialog
dialog
=
builder
.
create
();
...
@@ -105,9 +156,176 @@ public class EditBabyDialog extends AppCompatDialogFragment {
...
@@ -105,9 +156,176 @@ public class EditBabyDialog extends AppCompatDialogFragment {
dialog
.
getWindow
().
setAttributes
(
layoutParams
);
dialog
.
getWindow
().
setAttributes
(
layoutParams
);
});
});
// register launchers
launcherReg
();
// open image selector
ibPhoto
.
setOnClickListener
(
v
->
{
Intent
intent
=
new
Intent
(
Intent
.
ACTION_PICK
,
android
.
provider
.
MediaStore
.
Images
.
Media
.
EXTERNAL_CONTENT_URI
);
pickImageLauncher
.
launch
(
intent
);
});
return
dialog
;
return
dialog
;
}
}
private
void
launcherReg
()
{
// Register the ActivityResultLauncher for picking an image
pickImageLauncher
=
registerForActivityResult
(
new
ActivityResultContracts
.
StartActivityForResult
(),
result
->
{
if
(
result
.
getResultCode
()
==
Activity
.
RESULT_OK
)
{
Intent
data
=
result
.
getData
();
if
(
data
!=
null
)
{
Uri
selectedImageUri
=
data
.
getData
();
if
(
selectedImageUri
!=
null
)
{
startCrop
(
selectedImageUri
);
}
}
}
});
// Register the ActivityResultLauncher for cropping the image
cropImageLauncher
=
registerForActivityResult
(
new
ActivityResultContracts
.
StartActivityForResult
(),
result
->
{
if
(
result
.
getResultCode
()
==
Activity
.
RESULT_OK
)
{
Intent
data
=
result
.
getData
();
if
(
data
!=
null
)
{
Uri
resultUri
=
UCrop
.
getOutput
(
data
);
if
(
resultUri
!=
null
)
{
// Upload the cropped image to the server
ibPhoto
.
setImageURI
(
resultUri
);
uploadImageToServer
(
resultUri
);
}
}
}
else
if
(
result
.
getResultCode
()
==
UCrop
.
RESULT_ERROR
)
{
final
Throwable
cropError
=
UCrop
.
getError
(
result
.
getData
());
// Handle the error
Toast
.
makeText
(
getContext
(),
"Something went wrong: "
+
cropError
.
getMessage
(),
Toast
.
LENGTH_SHORT
).
show
();
}
});
}
private
void
startCrop
(
@NonNull
Uri
uri
)
{
// Generate a unique destination file name based on current time
String
destinationFileName
=
"CroppedImage_"
+
System
.
currentTimeMillis
()
+
".jpg"
;
UCrop
uCrop
=
UCrop
.
of
(
uri
,
Uri
.
fromFile
(
new
File
(
getContext
().
getCacheDir
(),
destinationFileName
)));
uCrop
.
withAspectRatio
(
1
,
1
);
uCrop
.
withOptions
(
getUCropOptions
());
cropImageLauncher
.
launch
(
uCrop
.
getIntent
(
getContext
()));
}
private
UCrop
.
Options
getUCropOptions
()
{
UCrop
.
Options
options
=
new
UCrop
.
Options
();
options
.
setCircleDimmedLayer
(
true
);
options
.
setShowCropFrame
(
false
);
options
.
setShowCropGrid
(
false
);
return
options
;
}
private
void
uploadImageToServer
(
Uri
imageUri
)
{
Bitmap
originalBitmap
=
BitmapFactory
.
decodeFile
(
imageUri
.
getPath
());
int
maxWidth
=
800
;
// Set your desired maximum width
int
maxHeight
=
800
;
// Set your desired maximum height
Bitmap
resizedBitmap
=
Bitmap
.
createScaledBitmap
(
originalBitmap
,
maxWidth
,
maxHeight
,
true
);
ByteArrayOutputStream
outputStream
=
new
ByteArrayOutputStream
();
resizedBitmap
.
compress
(
Bitmap
.
CompressFormat
.
JPEG
,
80
,
outputStream
);
// Adjust the quality (80 is just an example)
byte
[]
compressedData
=
outputStream
.
toByteArray
();
// Create RequestBody for the compressed image
RequestBody
requestFile
=
RequestBody
.
create
(
MediaType
.
parse
(
"image/jpeg"
),
compressedData
);
MultipartBody
.
Part
body
=
MultipartBody
.
Part
.
createFormData
(
"image"
,
"image.jpg"
,
requestFile
);
Call
<
ResponseDto
>
call
=
documentApiService
.
uploadUserImage
(
IMAGE
,
BABIES
,
babyDto
.
getUniqKey
(),
body
);
call
.
enqueue
(
new
Callback
<
ResponseDto
>()
{
@Override
public
void
onResponse
(
Call
<
ResponseDto
>
call
,
Response
<
ResponseDto
>
response
)
{
if
(
response
.
isSuccessful
())
{
loadBabyImage
();
loader
(
overlay
,
progressbar
,
false
);
}
else
{
try
{
Gson
gson
=
new
Gson
();
assert
response
.
errorBody
()
!=
null
;
String
errorBodyString
=
response
.
errorBody
().
string
();
// Check if the error body is in JSON format
if
(
errorBodyString
.
startsWith
(
"{"
))
{
ErrorDto
errorDto
=
gson
.
fromJson
(
errorBodyString
,
ErrorDto
.
class
);
Toast
.
makeText
(
getContext
(),
errorDto
.
getMessage
(),
Toast
.
LENGTH_LONG
).
show
();
}
else
{
// If the error body is not in JSON format, display a generic error message
Log
.
e
(
TAG
,
errorBodyString
);
Toast
.
makeText
(
getContext
(),
"An unexpected error occurred"
,
Toast
.
LENGTH_LONG
).
show
();
}
}
catch
(
Exception
e
)
{
Log
.
e
(
TAG
,
"else-error: "
+
e
.
getMessage
());
Toast
.
makeText
(
getContext
(),
e
.
getMessage
(),
Toast
.
LENGTH_LONG
).
show
();
}
loader
(
overlay
,
progressbar
,
false
);
}
}
@Override
public
void
onFailure
(
Call
<
ResponseDto
>
call
,
Throwable
t
)
{
Toast
.
makeText
(
getContext
(),
"Error to Failure"
,
Toast
.
LENGTH_LONG
).
show
();
loader
(
overlay
,
progressbar
,
false
);
}
});
}
private
void
loadBabyImage
()
{
Call
<
ResponseBody
>
call
=
documentApiService
.
getImage
(
BABIES
,
babyDto
.
getUniqKey
());
call
.
enqueue
(
new
Callback
<
ResponseBody
>()
{
@Override
public
void
onResponse
(
Call
<
ResponseBody
>
call
,
Response
<
ResponseBody
>
response
)
{
if
(
response
.
isSuccessful
())
{
try
{
if
(
response
.
body
()
!=
null
)
{
InputStream
inputStream
=
response
.
body
().
byteStream
();
Bitmap
bitmap
=
convertByteArrayToBitmap
(
inputStream
);
ibPhoto
.
setImageBitmap
(
bitmap
);
}
else
{
Log
.
e
(
TAG
,
"Response body is null"
);
}
}
catch
(
Exception
e
)
{
Log
.
e
(
TAG
,
"Error occurred: "
+
e
.
getMessage
());
Toast
.
makeText
(
getContext
(),
e
.
getMessage
(),
Toast
.
LENGTH_SHORT
).
show
();
}
loader
(
overlay
,
progressbar
,
false
);
}
else
{
try
{
Gson
gson
=
new
Gson
();
assert
response
.
errorBody
()
!=
null
;
String
errorBodyString
=
response
.
errorBody
().
string
();
// Check if the error body is in JSON format
if
(
errorBodyString
.
startsWith
(
"{"
))
{
ErrorDto
errorDto
=
gson
.
fromJson
(
errorBodyString
,
ErrorDto
.
class
);
Toast
.
makeText
(
getContext
(),
errorDto
.
getMessage
(),
Toast
.
LENGTH_LONG
).
show
();
}
else
{
// If the error body is not in JSON format, display a generic error message
Log
.
e
(
TAG
,
errorBodyString
);
Toast
.
makeText
(
getContext
(),
"An unexpected error occurred"
,
Toast
.
LENGTH_LONG
).
show
();
}
}
catch
(
Exception
e
)
{
Log
.
e
(
TAG
,
"else-error: "
+
e
.
getMessage
());
Toast
.
makeText
(
getContext
(),
e
.
getMessage
(),
Toast
.
LENGTH_LONG
).
show
();
}
loader
(
overlay
,
progressbar
,
false
);
}
}
@Override
public
void
onFailure
(
Call
<
ResponseBody
>
call
,
Throwable
t
)
{
Toast
.
makeText
(
getContext
(),
"Error to Failure"
,
Toast
.
LENGTH_LONG
).
show
();
loader
(
overlay
,
progressbar
,
false
);
}
});
}
// Method to pre-fill the data
// Method to pre-fill the data
private
void
prefillData
()
{
private
void
prefillData
()
{
if
(
babyDto
!=
null
)
{
if
(
babyDto
!=
null
)
{
...
@@ -156,7 +374,7 @@ public class EditBabyDialog extends AppCompatDialogFragment {
...
@@ -156,7 +374,7 @@ public class EditBabyDialog extends AppCompatDialogFragment {
BabyDto
baby
=
new
BabyDto
();
BabyDto
baby
=
new
BabyDto
();
baby
.
setBabyId
(
babyDto
.
getBabyId
());
baby
.
setBabyId
(
babyDto
.
getBabyId
());
baby
.
setSys_validated
(
false
);
baby
.
setSys_validated
(
false
);
String
firstname
,
lastname
,
dob
,
sex
,
weight
,
height
,
bType
,
eyeColor
,
hairColor
,
allergies
,
medicalConditions
,
medications
,
vaccinateRecs
,
docName
,
docContact
,
healthInsuInfo
,
firstSmile
,
firstTooth
,
firstWord
,
firstStep
,
favFoods
,
disFoods
,
pEmergeConName
,
pEmergeRelationship
,
pEmergeContact
,
sEmergeConName
,
sEmergeRelationship
,
sEmergeContact
,
notes
;
String
firstname
,
lastname
,
dob
,
sex
,
weight
,
height
,
bType
,
eyeColor
,
hairColor
,
allergies
,
medicalConditions
,
medications
,
vaccinateRecs
,
docName
,
docContact
,
healthInsuInfo
,
firstSmile
,
firstTooth
,
firstWord
,
firstStep
,
favFoods
,
disFoods
,
pEmergeConName
,
pEmergeRelationship
,
pEmergeContact
,
sEmergeConName
,
sEmergeRelationship
,
sEmergeContact
,
notes
,
uniqKey
;
firstname
=
etFirstname
.
getText
().
toString
();
firstname
=
etFirstname
.
getText
().
toString
();
lastname
=
etLastname
.
getText
().
toString
();
lastname
=
etLastname
.
getText
().
toString
();
...
@@ -240,6 +458,7 @@ public class EditBabyDialog extends AppCompatDialogFragment {
...
@@ -240,6 +458,7 @@ public class EditBabyDialog extends AppCompatDialogFragment {
baby
.
setSecondaryEmergencyRelationship
(
sEmergeRelationship
);
baby
.
setSecondaryEmergencyRelationship
(
sEmergeRelationship
);
baby
.
setSecondaryEmergencyContactNumber
(
sEmergeContact
);
baby
.
setSecondaryEmergencyContactNumber
(
sEmergeContact
);
baby
.
setNotes
(
notes
);
baby
.
setNotes
(
notes
);
baby
.
setUniqKey
(
babyDto
.
getUniqKey
());
baby
.
setSys_validated
(
true
);
baby
.
setSys_validated
(
true
);
}
}
...
@@ -283,7 +502,7 @@ public class EditBabyDialog extends AppCompatDialogFragment {
...
@@ -283,7 +502,7 @@ public class EditBabyDialog extends AppCompatDialogFragment {
etSEmergRelation
=
view
.
findViewById
(
R
.
id
.
ebv_et_s_emergency_relationship
);
etSEmergRelation
=
view
.
findViewById
(
R
.
id
.
ebv_et_s_emergency_relationship
);
etSEmergConNumber
=
view
.
findViewById
(
R
.
id
.
ebv_et_s_emergency_con_number
);
etSEmergConNumber
=
view
.
findViewById
(
R
.
id
.
ebv_et_s_emergency_con_number
);
etNotes
=
view
.
findViewById
(
R
.
id
.
ebv_et_notes
);
etNotes
=
view
.
findViewById
(
R
.
id
.
ebv_et_notes
);
//
ibPhoto = view.findViewById(R.id.ebv_ib_photo);
ibPhoto
=
view
.
findViewById
(
R
.
id
.
ebv_ib_photo
);
switchStatus
=
view
.
findViewById
(
R
.
id
.
ebv_switch_status
);
switchStatus
=
view
.
findViewById
(
R
.
id
.
ebv_switch_status
);
progressbar
=
view
.
findViewById
(
R
.
id
.
progress_bar
);
progressbar
=
view
.
findViewById
(
R
.
id
.
progress_bar
);
...
...
app/src/main/java/com/kaluwa/enterprises/babycare/dto/BabyDto.java
View file @
c6a05d88
...
@@ -45,6 +45,7 @@ public class BabyDto {
...
@@ -45,6 +45,7 @@ public class BabyDto {
private
String
secondaryEmergencyRelationship
;
private
String
secondaryEmergencyRelationship
;
private
String
secondaryEmergencyContactNumber
;
private
String
secondaryEmergencyContactNumber
;
private
String
notes
;
private
String
notes
;
private
String
uniqKey
;
private
UserDto
user
;
private
UserDto
user
;
private
Long
userId
;
private
Long
userId
;
private
Long
documentId
;
private
Long
documentId
;
...
...
app/src/main/java/com/kaluwa/enterprises/babycare/dto/UserDto.java
View file @
c6a05d88
...
@@ -17,5 +17,6 @@ public class UserDto {
...
@@ -17,5 +17,6 @@ public class UserDto {
private
String
phone
;
private
String
phone
;
private
String
role
;
private
String
role
;
private
String
status
;
private
String
status
;
private
String
uniqKey
;
private
LocalDate
dob
;
private
LocalDate
dob
;
}
}
\ No newline at end of file
app/src/main/java/com/kaluwa/enterprises/babycare/dto/responseDto/AuthenticationDto.java
View file @
c6a05d88
...
@@ -15,5 +15,6 @@ public class AuthenticationDto {
...
@@ -15,5 +15,6 @@ public class AuthenticationDto {
private
String
phone
;
private
String
phone
;
private
String
role
;
private
String
role
;
private
String
status
;
private
String
status
;
private
String
uniqKey
;
private
TokenDto
tokenDto
;
private
TokenDto
tokenDto
;
}
}
\ No newline at end of file
app/src/main/java/com/kaluwa/enterprises/babycare/service/DocumentApiService.java
0 → 100644
View file @
c6a05d88
package
com.kaluwa.enterprises.babycare.service
;
import
com.kaluwa.enterprises.babycare.dto.responseDto.ResponseDto
;
import
okhttp3.MultipartBody
;
import
okhttp3.ResponseBody
;
import
retrofit2.Call
;
import
retrofit2.http.GET
;
import
retrofit2.http.Multipart
;
import
retrofit2.http.PUT
;
import
retrofit2.http.Part
;
import
retrofit2.http.Path
;
public
interface
DocumentApiService
{
@Multipart
@PUT
(
"document/{docType}/{table}/{uniqKey}"
)
Call
<
ResponseDto
>
uploadUserImage
(
@Path
(
"docType"
)
String
docType
,
@Path
(
"table"
)
String
table
,
@Path
(
"uniqKey"
)
String
uniqKey
,
@Part
MultipartBody
.
Part
image
);
@GET
(
"document/{table}/{uniqKey}"
)
Call
<
ResponseBody
>
getImage
(
@Path
(
"table"
)
String
table
,
@Path
(
"uniqKey"
)
String
uniqKey
);
}
app/src/main/java/com/kaluwa/enterprises/babycare/service/UserApiService.java
View file @
c6a05d88
...
@@ -21,11 +21,4 @@ public interface UserApiService {
...
@@ -21,11 +21,4 @@ public interface UserApiService {
@PUT
(
"user/{userId}"
)
@PUT
(
"user/{userId}"
)
Call
<
UserDto
>
updateUserById
(
@Path
(
"userId"
)
Long
userId
,
@Body
UserDto
user
);
Call
<
UserDto
>
updateUserById
(
@Path
(
"userId"
)
Long
userId
,
@Body
UserDto
user
);
@Multipart
@PUT
(
"user/image/{userId}"
)
Call
<
ResponseDto
>
uploadUserImage
(
@Path
(
"userId"
)
Long
userId
,
@Part
MultipartBody
.
Part
image
);
@GET
(
"user/image/{userId}"
)
Call
<
ResponseBody
>
getImage
(
@Path
(
"userId"
)
Long
userId
);
}
}
app/src/main/res/layout/add_baby_view_layout.xml
View file @
c6a05d88
...
@@ -77,22 +77,22 @@
...
@@ -77,22 +77,22 @@
android:textSize=
"16sp"
android:textSize=
"16sp"
android:fontFamily=
"@font/kanit_regular"
/>
android:fontFamily=
"@font/kanit_regular"
/>
<TextView
<!-- <TextView-->
android:layout_width=
"match_parent"
<!-- android:layout_width="match_parent"-->
android:layout_height=
"wrap_content"
<!-- android:layout_height="wrap_content"-->
android:textSize=
"16sp"
<!-- android:textSize="16sp"-->
android:text=
"Photo"
<!-- android:text="Photo"-->
android:fontFamily=
"@font/kanit_regular"
<!-- android:fontFamily="@font/kanit_regular"-->
android:paddingStart=
"5dp"
<!-- android:paddingStart="5dp"-->
android:paddingEnd=
"2dp"
<!-- android:paddingEnd="2dp"-->
android:paddingTop=
"6dp"
/
>
<!-- android:paddingTop="6dp"/>--
>
<ImageButton
<!-- <ImageButton-->
android:id=
"@+id/abv_ib_photo"
<!-- android:id="@+id/abv_ib_photo"-->
android:layout_width=
"120dp"
<!-- android:layout_width="120dp"-->
android:layout_height=
"120dp"
<!-- android:layout_height="120dp"-->
android:src=
"@drawable/ic_add_32"
<!-- android:src="@drawable/ic_add_32"-->
android:contentDescription=
"baby_uploaded_photo"
/
>
<!-- android:contentDescription="baby_uploaded_photo"/>--
>
<LinearLayout
<LinearLayout
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
...
...
app/src/main/res/layout/edit_baby_view_layout.xml
View file @
c6a05d88
...
@@ -41,14 +41,17 @@
...
@@ -41,14 +41,17 @@
android:background=
"@drawable/borders"
android:background=
"@drawable/borders"
android:padding=
"8dp"
>
android:padding=
"8dp"
>
<
ImageButton
<
com.google.android.material.imageview.ShapeableImageView
android:id=
"@+id/ebv_ib_photo"
android:id=
"@+id/ebv_ib_photo"
android:layout_width=
"wrap_content"
android:layout_width=
"160dp"
android:layout_height=
"wrap_content"
android:layout_height=
"160dp"
android:maxHeight=
"200dp"
android:maxHeight=
"160dp"
android:src=
"@drawable/ic_add_32"
android:layout_marginTop=
"20dp"
android:layout_marginBottom=
"20dp"
android:src=
"@drawable/foreground"
app:shapeAppearanceOverlay=
"@style/RoundImage"
android:scaleType=
"centerCrop"
android:adjustViewBounds=
"true"
android:adjustViewBounds=
"true"
android:scaleType=
"centerInside"
android:layout_gravity=
"center"
android:layout_gravity=
"center"
android:contentDescription=
"baby_uploaded_photo"
/>
android:contentDescription=
"baby_uploaded_photo"
/>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment