Commit cdfebf53 authored by Ishankha K.C's avatar Ishankha K.C

Merge branch 'feature/chamod_dev' into 'master'

Feature/chamod dev

See merge request !5
parents 396b16a2 b6c2fd89
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<selectionStates> <selectionStates>
<SelectionState runConfigName="app"> <SelectionState runConfigName="app">
<option name="selectionMode" value="DROPDOWN" /> <option name="selectionMode" value="DROPDOWN" />
<DropdownSelection timestamp="2024-09-03T20:20:16.727982200Z"> <DropdownSelection timestamp="2024-10-20T17:33:09.653038700Z">
<Target type="DEFAULT_BOOT"> <Target type="DEFAULT_BOOT">
<handle> <handle>
<DeviceId pluginId="LocalEmulator" identifier="path=D:\Softwares\toolbox\.android\.android\avd\Pixel_XL_API_29.avd" /> <DeviceId pluginId="LocalEmulator" identifier="path=D:\Softwares\toolbox\.android\.android\avd\Pixel_XL_API_29.avd" />
......
...@@ -17,6 +17,18 @@ ...@@ -17,6 +17,18 @@
android:supportsRtl="true" android:supportsRtl="true"
android:theme="@style/Theme.BabyCare" android:theme="@style/Theme.BabyCare"
tools:targetApi="31"> tools:targetApi="31">
<activity
android:name=".activities.ApplicationSettingsActivity"
android:exported="false" />
<activity
android:name=".activities.DeviceSettingsActivity"
android:exported="false" />
<activity
android:name=".activities.DeviceControlsActivity"
android:exported="false" />
<activity
android:name=".activities.SettingsActivity"
android:exported="false" />
<activity <activity
android:name=".activities.ActivityLogsActivity" android:name=".activities.ActivityLogsActivity"
android:exported="false" /> android:exported="false" />
......
...@@ -12,7 +12,9 @@ import android.view.Gravity; ...@@ -12,7 +12,9 @@ import android.view.Gravity;
import android.view.Menu; import android.view.Menu;
import android.view.MenuInflater; import android.view.MenuInflater;
import android.view.MenuItem; import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View; import android.view.View;
import android.widget.ImageView;
import android.widget.TextView; import android.widget.TextView;
import android.widget.Toast; import android.widget.Toast;
...@@ -21,6 +23,7 @@ import androidx.annotation.NonNull; ...@@ -21,6 +23,7 @@ import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.PopupMenu; import androidx.appcompat.widget.PopupMenu;
import androidx.appcompat.widget.Toolbar; import androidx.appcompat.widget.Toolbar;
import androidx.core.content.ContextCompat;
import androidx.core.graphics.Insets; import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat; import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat; import androidx.core.view.WindowInsetsCompat;
...@@ -94,6 +97,35 @@ public class ActivityLogsActivity extends AppCompatActivity { ...@@ -94,6 +97,35 @@ public class ActivityLogsActivity extends AppCompatActivity {
recyclerView.setAdapter(adapter); recyclerView.setAdapter(adapter);
recyclerView.setLayoutManager(new LinearLayoutManager(this)); recyclerView.setLayoutManager(new LinearLayoutManager(this));
ImageView clearIcon = findViewById(R.id.clear_icon);
clearIcon.setOnTouchListener((v, event) -> {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
// Apply the pressed color tint
clearIcon.setColorFilter(ContextCompat.getColor(getApplicationContext(), R.color.cancel_red));
break;
case MotionEvent.ACTION_UP:
// Revert to the default color
clearIcon.setColorFilter(ContextCompat.getColor(getApplicationContext(), R.color.purple));
// Call performClick() to handle the click action properly
clearIcon.performClick();
break;
case MotionEvent.ACTION_CANCEL:
// Revert to the default color
clearIcon.setColorFilter(ContextCompat.getColor(getApplicationContext(), R.color.purple));
break;
}
return true; // Return true to indicate the touch event is consumed
});
// Override performClick to provide click handling
clearIcon.setOnClickListener(v -> {
// Handle the click action here
// You can add your click handling logic here
});
} }
private void loadData() { private void loadData() {
......
package com.kaluwa.enterprises.babycare.activities;
import static com.kaluwa.enterprises.babycare.config.TokenSaver.clearToken;
import static com.kaluwa.enterprises.babycare.utils.Utils.animationChanger;
import android.content.Intent;
import android.os.Bundle;
import android.view.Gravity;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.Toast;
import androidx.activity.EdgeToEdge;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.PopupMenu;
import androidx.appcompat.widget.Toolbar;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import com.kaluwa.enterprises.babycare.MainActivity;
import com.kaluwa.enterprises.babycare.R;
public class ApplicationSettingsActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_application_settings);
// define actionbar
defineActionbar();
}
private void defineActionbar() {
Toolbar toolbar = findViewById(R.id.b_care_action_bar);
setSupportActionBar(toolbar);
if (getSupportActionBar() != null) {
getSupportActionBar().setDisplayShowTitleEnabled(false);
}
toolbar.setNavigationIcon(R.drawable.ico_menu_32);
toolbar.setNavigationOnClickListener(v -> {
// Initializing the popup menu and giving the reference as current context
PopupMenu popupMenu = new PopupMenu(this, toolbar);
popupMenu.setGravity(Gravity.BOTTOM);
popupMenu.getMenuInflater().inflate(R.menu.menu_main, popupMenu.getMenu());
popupMenu.setOnMenuItemClickListener(item -> {
int id = item.getItemId();
if (id == R.id.mm_device_setting) {
Toast.makeText(this, "You Clicked " + item.getTitle(), Toast.LENGTH_SHORT).show();
} else if (id == R.id.mm_app_setting) {
Toast.makeText(this, "You Clicked " + item.getTitle(), Toast.LENGTH_SHORT).show();
} else if (id == R.id.mm_logout) {
clearToken(getApplicationContext());
Toast.makeText(this, "Logout successful.", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
finish();
animationChanger(this);
}
return true;
});
popupMenu.show();
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.user_action_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
int id = item.getItemId();
if (id == R.id.user) {
Intent intent = new Intent(this, UserProfileActivity.class);
startActivity(intent);
animationChanger(this);
} else {
Toast.makeText(this, "No item.", Toast.LENGTH_SHORT).show();
}
return super.onOptionsItemSelected(item);
}
@Override
public void onBackPressed() {
super.onBackPressed();
animationChanger(this);
}
}
\ No newline at end of file
...@@ -42,6 +42,7 @@ public class DashboardActivity extends AppCompatActivity { ...@@ -42,6 +42,7 @@ public class DashboardActivity extends AppCompatActivity {
btn1.setOnClickListener(v -> { btn1.setOnClickListener(v -> {
Intent intent = new Intent(this, LiveFeedActivity.class); Intent intent = new Intent(this, LiveFeedActivity.class);
startActivity(intent); startActivity(intent);
animationChanger(this);
}); });
btn2.setOnClickListener(v -> { btn2.setOnClickListener(v -> {
...@@ -49,16 +50,22 @@ public class DashboardActivity extends AppCompatActivity { ...@@ -49,16 +50,22 @@ public class DashboardActivity extends AppCompatActivity {
btn3.setOnClickListener(v -> { btn3.setOnClickListener(v -> {
Intent intent = new Intent(this, ActivityLogsActivity.class); Intent intent = new Intent(this, ActivityLogsActivity.class);
startActivity(intent); startActivity(intent);
animationChanger(this);
}); });
btn4.setOnClickListener(v -> { btn4.setOnClickListener(v -> {
Intent intent = new Intent(this, DeviceControlsActivity.class);
startActivity(intent);
animationChanger(this);
}); });
btn5.setOnClickListener(v -> { btn5.setOnClickListener(v -> {
Intent intent = new Intent(this, BabyDashboardActivity.class); Intent intent = new Intent(this, BabyDashboardActivity.class);
startActivity(intent); startActivity(intent);
animationChanger(this);
}); });
btn6.setOnClickListener(v -> { btn6.setOnClickListener(v -> {
Intent intent = new Intent(this, SettingsActivity.class);
startActivity(intent);
animationChanger(this);
}); });
} }
......
package com.kaluwa.enterprises.babycare.activities;
import static com.kaluwa.enterprises.babycare.config.TokenSaver.clearToken;
import static com.kaluwa.enterprises.babycare.utils.Utils.animationChanger;
import android.content.Intent;
import android.os.Bundle;
import android.view.Gravity;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.PopupMenu;
import androidx.appcompat.widget.Toolbar;
import com.kaluwa.enterprises.babycare.MainActivity;
import com.kaluwa.enterprises.babycare.R;
public class DeviceControlsActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_device_controls);
// define actionbar
defineActionbar();
}
private void defineActionbar() {
Toolbar toolbar = findViewById(R.id.b_care_action_bar);
setSupportActionBar(toolbar);
if (getSupportActionBar() != null) {
getSupportActionBar().setDisplayShowTitleEnabled(false);
}
toolbar.setNavigationIcon(R.drawable.ico_menu_32);
toolbar.setNavigationOnClickListener(v -> {
// Initializing the popup menu and giving the reference as current context
PopupMenu popupMenu = new PopupMenu(this, toolbar);
popupMenu.setGravity(Gravity.BOTTOM);
popupMenu.getMenuInflater().inflate(R.menu.menu_main, popupMenu.getMenu());
popupMenu.setOnMenuItemClickListener(item -> {
int id = item.getItemId();
if (id == R.id.mm_device_setting) {
Toast.makeText(this, "You Clicked " + item.getTitle(), Toast.LENGTH_SHORT).show();
} else if (id == R.id.mm_app_setting) {
Toast.makeText(this, "You Clicked " + item.getTitle(), Toast.LENGTH_SHORT).show();
} else if (id == R.id.mm_logout) {
clearToken(getApplicationContext());
Toast.makeText(this, "Logout successful.", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
finish();
animationChanger(this);
}
return true;
});
popupMenu.show();
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.user_action_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
int id = item.getItemId();
if (id == R.id.user) {
Intent intent = new Intent(this, UserProfileActivity.class);
startActivity(intent);
animationChanger(this);
} else {
Toast.makeText(this, "No item.", Toast.LENGTH_SHORT).show();
}
return super.onOptionsItemSelected(item);
}
@Override
public void onBackPressed() {
super.onBackPressed();
animationChanger(this);
}
}
\ No newline at end of file
package com.kaluwa.enterprises.babycare.activities;
import static com.kaluwa.enterprises.babycare.config.TokenSaver.clearToken;
import static com.kaluwa.enterprises.babycare.utils.Utils.animationChanger;
import android.content.Intent;
import android.os.Bundle;
import android.view.Gravity;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.Toast;
import androidx.activity.EdgeToEdge;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.PopupMenu;
import androidx.appcompat.widget.Toolbar;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import com.kaluwa.enterprises.babycare.MainActivity;
import com.kaluwa.enterprises.babycare.R;
public class DeviceSettingsActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_device_settings);
// define actionbar
defineActionbar();
}
private void defineActionbar() {
Toolbar toolbar = findViewById(R.id.b_care_action_bar);
setSupportActionBar(toolbar);
if (getSupportActionBar() != null) {
getSupportActionBar().setDisplayShowTitleEnabled(false);
}
toolbar.setNavigationIcon(R.drawable.ico_menu_32);
toolbar.setNavigationOnClickListener(v -> {
// Initializing the popup menu and giving the reference as current context
PopupMenu popupMenu = new PopupMenu(this, toolbar);
popupMenu.setGravity(Gravity.BOTTOM);
popupMenu.getMenuInflater().inflate(R.menu.menu_main, popupMenu.getMenu());
popupMenu.setOnMenuItemClickListener(item -> {
int id = item.getItemId();
if (id == R.id.mm_device_setting) {
Toast.makeText(this, "You Clicked " + item.getTitle(), Toast.LENGTH_SHORT).show();
} else if (id == R.id.mm_app_setting) {
Toast.makeText(this, "You Clicked " + item.getTitle(), Toast.LENGTH_SHORT).show();
} else if (id == R.id.mm_logout) {
clearToken(getApplicationContext());
Toast.makeText(this, "Logout successful.", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
finish();
animationChanger(this);
}
return true;
});
popupMenu.show();
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.user_action_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
int id = item.getItemId();
if (id == R.id.user) {
Intent intent = new Intent(this, UserProfileActivity.class);
startActivity(intent);
animationChanger(this);
} else {
Toast.makeText(this, "No item.", Toast.LENGTH_SHORT).show();
}
return super.onOptionsItemSelected(item);
}
@Override
public void onBackPressed() {
super.onBackPressed();
animationChanger(this);
}
}
\ No newline at end of file
...@@ -52,7 +52,6 @@ public class LiveFeedActivity extends AppCompatActivity { ...@@ -52,7 +52,6 @@ public class LiveFeedActivity extends AppCompatActivity {
private Handler handler = new Handler(); private Handler handler = new Handler();
private Runnable updateRunnable; private Runnable updateRunnable;
private WebSocket webSocket; private WebSocket webSocket;
private OkHttpClient client;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
...@@ -76,17 +75,6 @@ public class LiveFeedActivity extends AppCompatActivity { ...@@ -76,17 +75,6 @@ public class LiveFeedActivity extends AppCompatActivity {
handler.post(updateRunnable); handler.post(updateRunnable);
// Toggle flashlight // Toggle flashlight
lfFlashBtn.setOnClickListener(v -> toggleFlashlight()); lfFlashBtn.setOnClickListener(v -> toggleFlashlight());
// Initialize the WebSocket connection
// client = new OkHttpClient();
// Request request = new Request.Builder()
// .url(EMOTIONAL_VIDEO_PROCESS_WS_URL)
// .build();
// BabyEmotionWebSocketListener listener = new BabyEmotionWebSocketListener(this, tvLlStatusValue);
// webSocket = client.newWebSocket(request, listener);
//
// // Clean up the WebSocket connection when done
// client.dispatcher().executorService().shutdown();
} }
private void toggleFlashlight() { private void toggleFlashlight() {
......
package com.kaluwa.enterprises.babycare.activities;
import static com.kaluwa.enterprises.babycare.config.TokenSaver.clearToken;
import static com.kaluwa.enterprises.babycare.utils.Utils.animationChanger;
import android.content.Intent;
import android.os.Bundle;
import android.view.Gravity;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.Toast;
import androidx.activity.EdgeToEdge;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.PopupMenu;
import androidx.appcompat.widget.Toolbar;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import com.kaluwa.enterprises.babycare.MainActivity;
import com.kaluwa.enterprises.babycare.R;
public class SettingsActivity extends AppCompatActivity {
private LinearLayout btnDevSet, btnProfSet, btnAppSet;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_settings);
// define actionbar
defineActionbar();
// initialize buttons
btnDevSet = findViewById(R.id.btnDeviceSettings);
btnProfSet = findViewById(R.id.btnProfileSettings);
btnAppSet = findViewById(R.id.btnAppSettings);
// set click listeners
onClickListeners();
}
private void onClickListeners() {
btnDevSet.setOnClickListener(v -> {
Intent intent = new Intent(this, DeviceSettingsActivity.class);
startActivity(intent);
animationChanger(this);
});
btnProfSet.setOnClickListener(v -> {
Intent intent = new Intent(this, UserProfileActivity.class);
startActivity(intent);
animationChanger(this);
});
btnAppSet.setOnClickListener(v -> {
Intent intent = new Intent(this, ApplicationSettingsActivity.class);
startActivity(intent);
animationChanger(this);
});
}
private void defineActionbar() {
Toolbar toolbar = findViewById(R.id.b_care_action_bar);
setSupportActionBar(toolbar);
if (getSupportActionBar() != null) {
getSupportActionBar().setDisplayShowTitleEnabled(false);
}
toolbar.setNavigationIcon(R.drawable.ico_menu_32);
toolbar.setNavigationOnClickListener(v -> {
// Initializing the popup menu and giving the reference as current context
PopupMenu popupMenu = new PopupMenu(this, toolbar);
popupMenu.setGravity(Gravity.BOTTOM);
popupMenu.getMenuInflater().inflate(R.menu.menu_main, popupMenu.getMenu());
popupMenu.setOnMenuItemClickListener(item -> {
int id = item.getItemId();
if (id == R.id.mm_device_setting) {
Toast.makeText(this, "You Clicked " + item.getTitle(), Toast.LENGTH_SHORT).show();
} else if (id == R.id.mm_app_setting) {
Toast.makeText(this, "You Clicked " + item.getTitle(), Toast.LENGTH_SHORT).show();
} else if (id == R.id.mm_logout) {
clearToken(getApplicationContext());
Toast.makeText(this, "Logout successful.", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
finish();
animationChanger(this);
}
return true;
});
popupMenu.show();
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.user_action_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
int id = item.getItemId();
if (id == R.id.user) {
Intent intent = new Intent(this, UserProfileActivity.class);
startActivity(intent);
animationChanger(this);
} else {
Toast.makeText(this, "No item.", Toast.LENGTH_SHORT).show();
}
return super.onOptionsItemSelected(item);
}
@Override
public void onBackPressed() {
super.onBackPressed();
animationChanger(this);
}
}
\ No newline at end of file
...@@ -414,8 +414,9 @@ public class UserProfileActivity extends AppCompatActivity { ...@@ -414,8 +414,9 @@ public class UserProfileActivity extends AppCompatActivity {
etMobile.setText(user.getPhone()); etMobile.setText(user.getPhone());
if (user.getDob() != null) { if (user.getDob() != null) {
LocalDate localDate = Utils.getLocalDate(user.getDob()); LocalDate localDate = Utils.getLocalDate(user.getDob());
// LocalDate localDate = LocalDate.parse(user.getDob().toString(), getDateTimeFormatter());
if (localDate != null) { if (localDate != null) {
etDob.setText(localDate.format(getDateTimeFormatter())); etDob.setText(localDate.toString());
} }
} }
loader(overlay, progressBar, false); loader(overlay, progressBar, false);
......
package com.kaluwa.enterprises.babycare.adapter; package com.kaluwa.enterprises.babycare.adapter;
import static com.kaluwa.enterprises.babycare.utils.Utils.getDateTimeFormatter;
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
import android.content.Context; import android.content.Context;
import android.os.Build;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
...@@ -13,6 +16,9 @@ import androidx.recyclerview.widget.RecyclerView; ...@@ -13,6 +16,9 @@ import androidx.recyclerview.widget.RecyclerView;
import com.kaluwa.enterprises.babycare.R; import com.kaluwa.enterprises.babycare.R;
import com.kaluwa.enterprises.babycare.dto.ActivityLogDto; import com.kaluwa.enterprises.babycare.dto.ActivityLogDto;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeFormatterBuilder;
import java.util.List; import java.util.List;
public class ActivityLogsAdapter extends RecyclerView.Adapter<ActivityLogsAdapter.ActivityLogItemHolder> { public class ActivityLogsAdapter extends RecyclerView.Adapter<ActivityLogsAdapter.ActivityLogItemHolder> {
...@@ -35,12 +41,19 @@ public class ActivityLogsAdapter extends RecyclerView.Adapter<ActivityLogsAdapte ...@@ -35,12 +41,19 @@ public class ActivityLogsAdapter extends RecyclerView.Adapter<ActivityLogsAdapte
@SuppressLint("SetTextI18n") @SuppressLint("SetTextI18n")
@Override @Override
public void onBindViewHolder(@NonNull ActivityLogsAdapter.ActivityLogItemHolder holder, int position) { public void onBindViewHolder(@NonNull ActivityLogItemHolder holder, int position) {
ActivityLogDto activityLogDto = activityLogList.get(position); ActivityLogDto activityLogDto = activityLogList.get(position);
// holder.tvActivityLogId.setText(activityLogDto.getActivityLogId().toString());
holder.tvActivityLogId.setText(activityLogDto.getActivityLogId().toString()); if (activityLogDto.getActivityLogType().equals("EMOTION")) {
holder.tvActivityType.setText(activityLogDto.getActivityLogType()); holder.tvActivityType.setText("MOOD");
} else {
holder.tvActivityType.setText(activityLogDto.getActivityLogType());
}
holder.tvDescription.setText(activityLogDto.getActivityLogDescription()); holder.tvDescription.setText(activityLogDto.getActivityLogDescription());
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
holder.tvLogTime.setText(LocalDateTime.now().format(formatter));
}
} }
@Override @Override
...@@ -50,11 +63,11 @@ public class ActivityLogsAdapter extends RecyclerView.Adapter<ActivityLogsAdapte ...@@ -50,11 +63,11 @@ public class ActivityLogsAdapter extends RecyclerView.Adapter<ActivityLogsAdapte
public static class ActivityLogItemHolder extends RecyclerView.ViewHolder { public static class ActivityLogItemHolder extends RecyclerView.ViewHolder {
public TextView tvActivityLogId, tvActivityType, tvDescription; public TextView tvLogTime, tvActivityType, tvDescription;
public ActivityLogItemHolder(@NonNull View view) { public ActivityLogItemHolder(@NonNull View view) {
super(view); super(view);
tvActivityLogId = view.findViewById(R.id.tvActivityLogId); tvLogTime = view.findViewById(R.id.tvLogTime);
tvActivityType = view.findViewById(R.id.tvActivityType); tvActivityType = view.findViewById(R.id.tvActivityType);
tvDescription = view.findViewById(R.id.tvDescription); tvDescription = view.findViewById(R.id.tvDescription);
} }
......
...@@ -30,7 +30,7 @@ import java.util.regex.Pattern; ...@@ -30,7 +30,7 @@ import java.util.regex.Pattern;
public class Utils { public class Utils {
public static final String DATE_FORMAT = "dd/M/yyyy"; public static final String DATE_FORMAT = "yyyy-M-dd";
public static final int PICK_IMAGE_REQUEST = 1; public static final int PICK_IMAGE_REQUEST = 1;
private static final String TAG = "Utils"; private static final String TAG = "Utils";
...@@ -80,6 +80,7 @@ public class Utils { ...@@ -80,6 +80,7 @@ public class Utils {
// Check if EditText is not empty and parse the date // Check if EditText is not empty and parse the date
if (!TextUtils.isEmpty(editText.getText().toString())) { if (!TextUtils.isEmpty(editText.getText().toString())) {
try { try {
// yyyy-M-dd
SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT, Locale.getDefault()); SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT, Locale.getDefault());
calendar.setTime(Objects.requireNonNull(sdf.parse(editText.getText().toString()))); calendar.setTime(Objects.requireNonNull(sdf.parse(editText.getText().toString())));
} catch (ParseException e) { } catch (ParseException e) {
...@@ -241,11 +242,10 @@ public class Utils { ...@@ -241,11 +242,10 @@ public class Utils {
@SuppressLint("NewApi") @SuppressLint("NewApi")
public static DateTimeFormatter getDateTimeFormatter() { public static DateTimeFormatter getDateTimeFormatter() {
DateTimeFormatterBuilder builder = new DateTimeFormatterBuilder() DateTimeFormatterBuilder builder = new DateTimeFormatterBuilder()
.parseCaseInsensitive().parseLenient() .parseCaseInsensitive()
// .appendPattern("[d/M/yyyy]") .parseLenient()
// .appendPattern("[dd MMM yyyy]") .appendOptional(DateTimeFormatter.ofPattern("dd/MM/yyyy"))
.appendPattern("[dd/MM/yyyy]") .appendOptional(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
.appendPattern("[yyyy-MM-dd]");
return builder.toFormatter(Locale.ENGLISH); return builder.toFormatter(Locale.ENGLISH);
} }
......
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="@color/cancel_red" /> <!-- Pressed state -->
<item android:color="@color/purple" /> <!-- Default state -->
</selector>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<shape android:shape="rectangle">
<solid android:color="@color/dark_purple"/> <!-- Pressed state color -->
<corners android:radius="20dp"/> <!-- Rounded corners for pressed state -->
<stroke android:width="2dp" android:color="@color/purple"/> <!-- Purple border -->
</shape>
</item>
<item>
<shape android:shape="rectangle">
<solid android:color="@color/white"/> <!-- Default color -->
<corners android:radius="50dp"/> <!-- Rounded corners for default state -->
<stroke android:width="2dp" android:color="@color/purple"/> <!-- Purple border -->
</shape>
</item>
</selector>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="32dp" android:viewportHeight="124" android:viewportWidth="124" android:width="32dp">
<path android:fillColor="#000000" android:pathData="M29.8,5.6c-1.5,0.8 -3.2,2.3 -3.8,3.4 -1.4,2.6 -1.4,103.4 0,106.1 2.5,4.5 5.1,4.9 36.2,4.9 27.4,-0 29.5,-0.1 32.5,-2 3.8,-2.3 4.5,-4.5 4.1,-12.2l-0.3,-5.6 -3.5,1.7c-3.1,1.4 -3.5,2.1 -3.8,5.9l-0.3,4.2 -29,-0 -28.9,-0 0,-50 0,-50 6.6,-0c5.2,-0 7,0.4 8,1.7 1.1,1.6 3,1.8 14.4,1.8 11.4,-0 13.3,-0.2 14.4,-1.8 1,-1.3 2.8,-1.7 7.9,-1.7l6.6,-0 0.3,4.2c0.3,3.8 0.7,4.5 3.8,5.9l3.5,1.7 0.3,-5.6c0.4,-7.7 -0.3,-9.9 -4.1,-12.2 -3,-1.9 -5.1,-2 -32.7,-2 -24.1,0.1 -30,0.4 -32.2,1.6zM65.8,10.2c-0.3,2 -1,2.3 -5.1,2.6 -5.1,0.3 -7.9,-1 -7,-3.4 0.4,-1 2.2,-1.4 6.5,-1.4 5.6,-0 5.9,0.1 5.6,2.2zM74.6,9.1c0.3,0.6 0,1.8 -0.9,2.6 -1.8,1.8 -3.7,0.9 -3.7,-1.8 0,-2.1 3.4,-2.7 4.6,-0.8z" android:strokeColor="#00000000"/>
<path android:fillColor="#000000" android:pathData="M83.8,35.7c-1.5,3.2 -5,4.1 -8.5,2.2 -2,-1.1 -2.6,-1.1 -3.3,0.1 -0.4,0.7 -0.6,1.9 -0.3,2.7 0.9,2.2 -3.7,6.3 -6.9,6.3 -3.1,-0 -3.6,1.7 -1.6,4.9 1.5,2.5 -0.4,7.1 -3.2,7.8 -2.6,0.7 -2.6,3.9 0,4.6 2.8,0.7 4.7,5.3 3.2,7.8 -2,3.2 -1.5,4.9 1.6,4.9 3.2,-0 7.8,4.1 6.9,6.3 -0.3,0.8 -0.1,2 0.3,2.7 0.7,1.2 1.3,1.2 3.3,0.1 3.2,-1.7 6.7,-1.1 8.1,1.4 2.1,3.8 4.3,4.5 5.3,1.7 0.4,-0.9 1.4,-2.2 2.2,-2.9 1.9,-1.5 7.1,-1.7 7.1,-0.3 0,0.5 0.9,1 2,1 1.5,-0 2,-0.7 2,-2.8 0,-3.3 3.6,-7.2 6.8,-7.2 2.6,-0 3.8,-1.8 2.3,-3.3 -2.5,-2.5 -0.3,-9.7 3,-9.7 0.5,-0 0.9,-0.9 0.9,-2 0,-1.1 -0.4,-2 -0.9,-2 -3.3,-0 -5.5,-7.2 -3,-9.7 1.6,-1.6 0.2,-3.3 -2.5,-3.3 -3,-0 -6.6,-4 -6.6,-7.3 0,-2 -0.5,-2.7 -2,-2.7 -1.1,-0 -2,0.4 -2,1 0,1.4 -5.2,1.2 -7.1,-0.3 -0.8,-0.7 -1.8,-2 -2.2,-3 -1,-2.6 -3.4,-2.1 -4.9,1zM93.3,46.6c9.5,4.8 13.1,13.8 8.8,22.2 -4.7,9.1 -14,12.5 -22.8,8.2 -6.4,-3.1 -8.8,-7.2 -8.8,-15 0,-5.2 0.5,-7.1 2.3,-9.8 4.6,-6.3 13.9,-8.9 20.5,-5.6z" android:strokeColor="#00000000"/>
<path android:fillColor="#000000" android:pathData="M84.6,59.6c-0.9,0.8 -1.6,1.9 -1.6,2.4 0,1.1 2.9,4 3.9,4 0.4,-0 1.6,-0.9 2.6,-2 1.7,-1.9 1.7,-2.1 0,-4 -2.2,-2.4 -2.9,-2.5 -4.9,-0.4z" android:strokeColor="#00000000"/>
</vector>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="32dp" android:viewportHeight="124" android:viewportWidth="124" android:width="32dp">
<path android:fillColor="#000000" android:pathData="M55.5,13.9c-11.2,3 -17.5,12.1 -17.5,25.1 0.1,8.2 1.4,12.6 5.5,17.6 9.7,11.8 27.2,11.9 36.8,0.2 4.1,-5 5.7,-10.1 5.7,-17.8 0,-5.4 -1.6,-13 -2.9,-14 -0.3,-0.3 -1.4,-1.7 -2.3,-3.1 -3.9,-6.2 -16.9,-10.3 -25.3,-8z" android:strokeColor="#00000000"/>
<path android:fillColor="#000000" android:pathData="M95.4,43.5c-1.3,3.4 4.6,11.6 11.5,15.9 4.8,3.1 7.7,3.3 8.6,0.6 1.1,-3.6 -6.1,-13.6 -12.2,-16.8 -3.1,-1.7 -7.3,-1.5 -7.9,0.3z" android:strokeColor="#00000000"/>
<path android:fillColor="#000000" android:pathData="M89.1,72.1c-4.5,1.4 -8,3.6 -11.4,7.3 -4.5,5 -4.5,5.1 -5.8,11.5 -1.1,4.9 -1.1,7.3 0,12.2 1.4,6.7 1.7,7.4 7.8,13.3 2.8,2.8 5.9,4.6 10,5.9 7.4,2.2 8.9,2.2 16,-0.4 7.8,-2.9 14.2,-9.4 16.6,-17 2.1,-6.9 2.1,-7.9 0,-14.8 -3.4,-11.3 -11.9,-18 -23.7,-18.7 -3.3,-0.2 -7.6,0.1 -9.5,0.7zM91.7,87.8c1.3,2.8 1.4,3.8 0.4,5.4 -1.1,1.8 -0.9,2.5 2.1,5.5 2.8,3 3.8,3.4 6.7,2.9 3.5,-0.5 7.7,1.1 10,3.7 1,1.3 0.7,2 -1.6,4.1 -1.5,1.4 -3.6,2.6 -4.7,2.6 -6.6,-0 -22.6,-16.6 -22.6,-23.5 0,-0.7 1.2,-2.4 2.6,-3.9 3.1,-3 4.4,-2.4 7.1,3.2z" android:strokeColor="#00000000"/>
<path android:fillColor="#000000" android:pathData="M39.5,83.5c-15.6,5.6 -22,10.3 -22,16.5 0,2.2 0.6,4.5 1.3,5.2 1,1 7,1.4 22.5,1.6l21.2,0.3 0,-10 0,-10.1 -3.5,-0c-1.9,-0 -5.8,-1.3 -8.5,-2.8l-5,-2.8 -6,2.1z" android:strokeColor="#00000000"/>
</vector>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="32dp" android:viewportHeight="124" android:viewportWidth="124" android:width="32dp">
<path android:fillColor="#000000" android:pathData="M69,13.7c-0.8,0.3 -2.8,1.1 -4.5,1.9 -1.6,0.7 -5.9,2.5 -9.5,3.9 -3.6,1.4 -7.9,3.3 -9.7,4.1 -1.7,0.8 -3.5,1.4 -4,1.4 -0.4,0.1 -2.6,0.9 -4.8,2 -6.6,3.2 -10.7,2.6 -22.7,-3.6 -1.4,-0.8 -3.1,-1.4 -3.7,-1.4 -0.8,-0 -1.1,5.1 -1.1,16l0,15.9 3.9,1.1c2.2,0.6 5.2,1.7 6.8,2.5 1.5,0.8 3.5,1.5 4.3,1.5 0.8,-0 2.8,0.7 4.4,1.5 3.3,1.7 5.9,1.9 8.4,0.5 0.9,-0.5 6.7,-3 12.7,-5.6 21.5,-9 25.4,-10.9 27.3,-13.2 1.8,-2.3 1.5,-4.9 -1,-7.2l-2.2,-2 3.3,-0c1.8,-0 4.9,0.7 6.9,1.6 2.1,0.9 5.5,2.5 7.7,3.5 2.2,1 5.2,2.1 6.8,2.5 1.5,0.3 3,1 3.3,1.5 0.2,0.5 2.3,1.3 4.5,1.9 3.3,0.9 4.5,0.8 6.5,-0.5 2.4,-1.5 3.1,-4.8 1.6,-7.2 -1,-1.6 -18.5,-11.7 -37.2,-21.5 -3.5,-1.8 -5.3,-2.1 -8,-1.1z" android:strokeColor="#00000000"/>
<path android:fillColor="#000000" android:pathData="M74.5,64.4c-7.5,3.5 -13.5,10.7 -13.5,16.3 0,1 -0.9,2.4 -2.1,3.1 -2.9,1.8 -2.3,7.6 0.9,8 1.2,0.2 2.2,0.8 2.2,1.4 0,1.9 6,8.7 9.8,11 5.4,3.3 16.2,3.2 21.7,-0.2 3.9,-2.4 7,-5.5 9.1,-9.2 0.6,-1.1 2.1,-2.5 3.5,-3.1 3.1,-1.6 3.7,-5.5 1.1,-7.6 -1.1,-0.9 -2.7,-3.8 -3.7,-6.4 -2.5,-6.6 -7,-11.1 -13.5,-13.6 -6.9,-2.6 -9.2,-2.6 -15.5,0.3zM77.6,79.4c2.9,3 1,7.6 -3.1,7.6 -2.7,-0 -4.5,-1.8 -4.5,-4.5 0,-4.1 4.6,-6 7.6,-3.1zM94.3,80.1c0.5,0.9 0.7,2.8 0.3,4.2 -0.5,2.2 -1.2,2.7 -3.6,2.7 -3.2,-0 -4.6,-2.5 -3.6,-6.6 0.5,-2 1.2,-2.5 3.3,-2.2 1.4,0.2 3,1 3.6,1.9zM90.8,96.2c-0.3,0.7 -2.2,1.9 -4.3,2.6 -3.1,1 -4.6,1 -7.9,-0.1 -7.1,-2.4 -5.7,-3.7 3.9,-3.7 6.5,-0 8.6,0.3 8.3,1.2z" android:strokeColor="#00000000"/>
</vector>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="32dp" android:viewportHeight="124" android:viewportWidth="124" android:width="32dp">
<path android:fillColor="#000000" android:pathData="M91.9,3c-2.6,2.9 -7.9,4.2 -7.9,2 0,-0.6 -0.9,-1 -2,-1 -1.5,-0 -2,0.7 -2,2.8 0,3.6 -3.7,7.2 -7.3,7.2 -2.7,-0 -3.8,2.2 -1.7,3.5 2.2,1.4 1,6 -2.2,8.7l-3.3,2.8 3.3,2.6c2.3,1.8 3.2,3.4 3.2,5.5 0,1.6 -0.4,2.9 -1,2.9 -0.5,-0 -1,0.9 -1,2 0,1.5 0.7,2 2.8,2 3.6,-0 7.2,3.7 7.2,7.3 0,2 0.5,2.7 2,2.7 1.1,-0 2,-0.5 2,-1 0,-0.6 1.3,-1 2.9,-1 2.1,-0 3.7,0.9 5.5,3.2l2.6,3.3 2.8,-3.3c2.7,-3.2 7.3,-4.4 8.7,-2.2 1.3,2.1 3.5,1 3.5,-1.8 0,-3.6 3.7,-7.2 7.3,-7.2 2,-0 2.7,-0.5 2.7,-2 0,-1.1 -0.4,-2 -1,-2 -2.2,-0 -0.9,-5.3 2,-8 3,-2.8 3.9,-5 2,-5 -1.9,-0 -5,-4 -5,-6.5 0,-1.4 0.5,-2.5 1,-2.5 0.6,-0 1,-0.9 1,-2 0,-1.5 -0.7,-2 -2.6,-2 -3.5,-0 -7.4,-3.8 -7.4,-7.3 0,-2 -0.5,-2.7 -2,-2.7 -1.1,-0 -2,0.4 -2,1 0,0.5 -1.1,1 -2.5,1 -2.5,-0 -6.5,-3.1 -6.5,-5 0,-1.9 -2.5,-0.9 -5.1,2zM103.5,14.3c9.5,5.4 11.3,18.9 3.6,26.6 -10.6,10.6 -29.1,3 -29.1,-11.9 0,-12.9 14.2,-21.1 25.5,-14.7z" android:strokeColor="#00000000"/>
<path android:fillColor="#000000" android:pathData="M92.6,26.6c-0.9,0.8 -1.6,1.9 -1.6,2.3 0,0.9 3.3,4.1 4.3,4.1 0.9,-0 3.7,-3 3.7,-4 0,-0.5 -0.7,-1.6 -1.6,-2.4 -0.8,-0.9 -1.9,-1.6 -2.4,-1.6 -0.5,-0 -1.6,0.7 -2.4,1.6z" android:strokeColor="#00000000"/>
<path android:fillColor="#000000" android:pathData="M16.5,22c-3.5,1.4 -6.4,4.9 -7,8.2 -0.9,4.9 -0.1,61 0.9,63 0.7,1.6 0.2,1.8 -4.8,1.8 -3.1,-0 -5.6,0.4 -5.6,0.8 0,1.7 3,6.9 5.1,8.8 2,1.8 4.4,1.9 56.9,1.9 52.5,-0 54.9,-0.1 56.9,-1.9 2.1,-1.9 5.1,-7.1 5.1,-8.8 0,-0.4 -2.5,-0.8 -5.6,-0.8 -5,-0 -5.5,-0.2 -4.8,-1.8 0.8,-1.7 1.9,-30.2 1.1,-30.2 -0.2,-0 -1.8,0.7 -3.5,1.6l-3.2,1.5 0,11.3c0,7.4 -0.4,11.6 -1.2,12.4 -1.7,1.7 -87.9,1.7 -89.6,-0 -1.7,-1.7 -1.7,-57.9 0,-59.6 0.9,-0.9 6.9,-1.2 21,-1.2l19.8,-0 0,-2.4c0,-1.3 0.3,-3.1 0.6,-4 0.5,-1.4 -1.6,-1.6 -19.7,-1.5 -11.2,-0 -21.3,0.4 -22.4,0.9z" android:strokeColor="#00000000"/>
</vector>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="32dp" android:viewportHeight="72" android:viewportWidth="72" android:width="32dp">
<path android:fillColor="@android:color/black" android:pathData="M34.3,8c-0.5,1.8 -1.4,2 -7.4,2 -3.8,-0 -7.9,0.5 -9.2,1.2 -1.2,0.6 -2.8,1.4 -3.5,1.7 -0.8,0.3 -1.3,1 -1.3,1.6 0.1,0.6 8.5,1 23.1,1 14.6,-0 23,-0.4 23.1,-1 0,-0.6 -0.5,-1.3 -1.3,-1.6 -0.7,-0.3 -2.3,-1.1 -3.5,-1.7 -1.3,-0.7 -5.4,-1.2 -9.2,-1.2 -6,-0 -6.9,-0.2 -7.4,-2 -0.3,-1.1 -1,-2 -1.7,-2 -0.7,-0 -1.4,0.9 -1.7,2z" android:strokeColor="#00000000"/>
<path android:fillColor="@android:color/black" android:pathData="M15.4,25.2c0.3,1.8 1.3,10.3 2.1,18.8 1.2,11.9 2,15.8 3.2,16.7 1.2,0.9 6,1.3 15.4,1.3 11.2,-0 14.1,-0.3 15.3,-1.6 0.9,-0.8 1.6,-1.8 1.6,-2 0,-1.1 3,-29.1 3.5,-32.7l0.5,-3.7 -21,-0 -21.1,-0 0.5,3.2z" android:strokeColor="#00000000"/>
</vector>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="32dp" android:viewportHeight="124" android:viewportWidth="124" android:width="32dp">
<path android:fillColor="#000000" android:pathData="M52,14c-7.9,1.3 -18,6.8 -24.6,13.4 -19.1,19.1 -19,50.4 0.2,69.2 16.5,16.3 42,18.8 61.9,6.2 2.6,-1.7 11.7,-10.7 13.3,-13.3 12.6,-20.2 10.1,-45.7 -6.2,-62.1 -11.6,-11.6 -27.3,-16.3 -44.6,-13.4zM82.8,57.7l0.2,20.2 -2.7,2.5c-2,1.9 -3.9,2.6 -6.7,2.6 -4.8,-0 -7.6,-2.3 -7.6,-6.3 0,-3.9 2.6,-6.7 6.1,-6.7 5.6,-0 5.9,-0.5 5.9,-10.4l0,-9.2 -7.7,0.8c-4.3,0.4 -10.5,1.1 -13.8,1.5l-6,0.8 -0.5,14.7c-0.5,13.9 -0.6,14.7 -2.9,16.7 -3,2.6 -9.6,2.8 -12.3,0.4 -2.2,-2 -2.3,-7 -0.1,-9.5 0.9,-1 2.9,-1.8 4.4,-1.8 5.9,-0 5.9,0.1 5.9,-16.5 0,-11 0.3,-15.5 1.3,-16.2 0.6,-0.6 4.1,-1.3 7.7,-1.7 3.6,-0.4 9,-1 12,-1.5 3,-0.5 8,-0.8 11,-0.7l5.5,0.1 0.3,20.2z" android:strokeColor="#00000000"/>
</vector>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="32dp" android:viewportHeight="120" android:viewportWidth="120" android:width="32dp">
<path android:fillColor="#000000" android:pathData="M54,13c0,0.5 -2.2,1 -5,1 -2.7,-0 -5,0.4 -5,1 0,0.5 -0.9,1 -2,1 -1.1,-0 -2,0.4 -2,1 0,0.5 -0.9,1 -2,1 -1.1,-0 -2,0.4 -2,1 0,0.5 -0.7,1 -1.5,1 -2,-0 -14.5,12.5 -14.5,14.5 0,0.8 -0.4,1.5 -1,1.5 -0.5,-0 -1,0.9 -1,2 0,1.1 -0.4,2 -1,2 -0.5,-0 -1,0.9 -1,2 0,1.1 -0.4,2 -1,2 -0.5,-0 -1,2.2 -1,5 0,2.7 -0.4,5 -1,5 -0.6,-0 -1,2.7 -1,6 0,3.3 0.4,6 1,6 0.6,-0 1,2.2 1,5 0,2.7 0.5,5 1,5 0.6,-0 1,0.9 1,2 0,1.1 0.5,2 1,2 0.6,-0 1,0.9 1,2 0,1.1 0.5,2 1,2 0.6,-0 1,0.7 1,1.5 0,2 12.5,14.5 14.5,14.5 0.8,-0 1.5,0.4 1.5,1 0,0.5 0.9,1 2,1 1.1,-0 2,0.4 2,1 0,0.5 0.9,1 2,1 1.1,-0 2,0.4 2,1 0,0.5 2.3,1 5,1 2.8,-0 5,0.4 5,1 0,0.6 3,1 7,1 4,-0 7,-0.4 7,-1 0,-0.6 0.7,-1 1.6,-1 2,-0 4.4,-2.4 4.4,-4.4 0,-0.9 0.5,-1.6 1,-1.6 0.6,-0 1,-3.8 1,-9.5 0,-8.8 0.2,-9.8 2.5,-12 2.3,-2.3 3.1,-2.5 13,-2.5 6.3,-0 10.5,-0.4 10.5,-1 0,-0.6 0.9,-1 2,-1 1.3,-0 2,-0.7 2,-2 0,-1.1 0.5,-2 1,-2 0.6,-0 1,-3.3 1,-8 0,-4.7 -0.4,-8 -1,-8 -0.5,-0 -1,-2.3 -1,-5 0,-2.8 -0.4,-5 -1,-5 -0.5,-0 -1,-0.9 -1,-2 0,-1.1 -0.4,-2 -1,-2 -0.5,-0 -1,-0.9 -1,-2 0,-1.1 -0.4,-2 -1,-2 -0.5,-0 -1,-0.7 -1,-1.5 0,-2 -12.5,-14.5 -14.5,-14.5 -0.8,-0 -1.5,-0.5 -1.5,-1 0,-0.6 -0.9,-1 -2,-1 -1.1,-0 -2,-0.5 -2,-1 0,-0.6 -0.9,-1 -2,-1 -1.1,-0 -2,-0.5 -2,-1 0,-0.6 -2.2,-1 -5,-1 -2.7,-0 -5,-0.5 -5,-1 0,-0.6 -2.7,-1 -6,-1 -3.3,-0 -6,0.4 -6,1zM65.5,22.5c3.3,3.2 3.3,7.8 0,11 -7.2,7.3 -18.3,-3.5 -11.2,-11 3,-3.3 8,-3.3 11.2,-0zM38,29c0,0.5 0.7,1 1.5,1 2.5,-0 6.5,4.6 6.5,7.5 0,1.4 -0.4,2.5 -1,2.5 -0.5,-0 -1,0.9 -1,2 0,1.3 -0.7,2 -2,2 -1.1,-0 -2,0.4 -2,1 0,0.5 -1.1,1 -2.5,1 -2.8,-0 -7.5,-4 -7.5,-6.4 0,-0.8 -0.6,-1.7 -1.2,-2 -1,-0.5 -1,-0.7 0,-1.2 0.6,-0.3 1.2,-1.2 1.2,-2.1 0,-1.9 2.4,-4.3 4.4,-4.3 0.9,-0 1.6,-0.5 1.6,-1 0,-0.6 0.5,-1 1,-1 0.6,-0 1,0.4 1,1zM84,29c0,0.5 0.7,1 1.6,1 2,-0 4.4,2.4 4.4,4.3 0,0.9 0.6,1.8 1.3,2.1 1,0.5 1,0.7 0,1.2 -0.7,0.3 -1.3,1.2 -1.3,2 0,2.4 -4.7,6.4 -7.5,6.4 -1.4,-0 -2.5,-0.5 -2.5,-1 0,-0.6 -0.7,-1 -1.6,-1 -4.7,-0 -6,-7.5 -1.9,-11.5 1.3,-1.4 3.1,-2.5 4,-2.5 0.8,-0 1.5,-0.5 1.5,-1 0,-0.6 0.5,-1 1,-1 0.6,-0 1,0.4 1,1zM33.5,54.5c3.3,3.2 3.3,7.8 0,11 -7.2,7.3 -18.3,-3.5 -11.2,-11 3,-3.3 8,-3.3 11.2,-0zM97.5,54.5c3.3,3.2 3.3,7.8 0,11 -7.2,7.3 -18.3,-3.5 -11.2,-11 3,-3.3 8,-3.3 11.2,-0zM65.5,82.5c3.6,3.5 3.6,11.5 0,15 -3.5,3.6 -11.5,3.6 -15,-0 -3.4,-3.3 -3.5,-11.5 -0.2,-15 3.2,-3.5 11.8,-3.5 15.2,-0z" android:strokeColor="#00000000"/>
</vector>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="32dp" android:viewportHeight="124" android:viewportWidth="124" android:width="32dp">
<path android:fillColor="#000000" android:pathData="M53.7,13.9c-4.8,1 -10.5,5.6 -13,10.5 -1.9,3.6 -2.5,10 -1.9,20.1 0,1.6 0.1,4.8 0,6.9 -0.1,2.8 0.4,4.4 1.9,5.5 1.1,0.9 2.3,2.8 2.6,4.1 0.3,1.4 2,4 3.7,5.8 2.4,2.7 3,4.2 3,7.8 0,3 -0.5,4.6 -1.5,5 -0.8,0.3 -1.7,1.3 -2,2.2 -0.5,1.9 -4.3,3.8 -11.3,5.7 -5.6,1.5 -11.8,4.2 -13.8,5.8 -4.3,3.5 -6.3,6.4 -7.3,10.3 -2,8 -3.5,7.4 19.8,7.4l20.9,-0 0.7,-3.2c0.4,-1.8 1.2,-3.9 1.8,-4.6 1.4,-1.8 1.5,-11.1 0.1,-12 -1.9,-1.3 -2.4,-4 -0.8,-4.6 0.9,-0.3 4,-0.6 7,-0.6 4.9,-0 5.4,-0.2 6,-2.5 0.3,-1.4 1.3,-2.9 2.1,-3.4 0.9,-0.4 1.7,-2.8 2,-5.5 0.4,-3.4 1.4,-5.7 3.5,-7.9 1.6,-1.8 3.2,-4.3 3.5,-5.7 0.3,-1.3 1.5,-3.2 2.6,-4.1 1.5,-1.1 2,-2.7 1.9,-5.5 -0.1,-2.1 0,-5.3 0,-6.9 0.5,-8.5 0,-16.4 -1.3,-19 -0.8,-1.7 -3.3,-4.1 -6,-5.5 -2.5,-1.4 -5.8,-3.4 -7.3,-4.4 -3.1,-2.2 -10.9,-2.9 -16.9,-1.7z" android:strokeColor="#00000000"/>
<path android:fillColor="#000000" android:pathData="M97,77.1c-1.4,2 -4,2.5 -8.5,1.7 -1.5,-0.2 -2.1,0.3 -2.3,2.1 -0.5,3.1 -2.2,4.8 -5.3,5.3 -1.8,0.2 -2.3,0.8 -2.1,2.3 0.8,4.5 0.3,7 -1.7,8.6 -2.6,2.1 -2.7,3.6 -0.2,4.4 2.2,0.7 3.2,4.5 1.9,7 -1.2,2 -0.2,4.9 1.2,4 1.8,-1.1 6,2.3 6,5 0,2.9 1.6,4.1 3.5,2.5 2,-1.7 7.3,-0.3 8,2.1 0.8,2.4 3.2,2.5 4,-0 0.7,-2.3 5.2,-3.6 7,-2.1 1.9,1.6 4.7,0.1 4,-2.1 -0.8,-2.4 3,-6.2 5.4,-5.4 2.2,0.7 3.7,-2.1 2.1,-4 -1.5,-1.8 -0.2,-6.3 2.1,-7 2.5,-0.8 2.4,-3.2 0,-4 -2.4,-0.7 -3.8,-6 -2.1,-8 1.6,-1.9 0.4,-3.5 -2.5,-3.5 -2.7,-0 -6.1,-4.2 -5,-6 0.9,-1.4 -2,-2.4 -4,-1.2 -2.5,1.3 -6.3,0.3 -7,-1.9 -0.8,-2.5 -2.6,-2.4 -4.5,0.2zM104,87.6c4.9,2 8,6.7 8,12.2 0,3.3 -0.7,4.6 -4.1,8.1 -3.5,3.4 -4.8,4.1 -8.1,4.1 -6.9,-0 -10.6,-3.2 -13.1,-11.2 -1.6,-4.7 3.2,-12.1 8.9,-13.8 4,-1.2 3.9,-1.2 8.4,0.6z" android:strokeColor="#00000000"/>
<path android:fillColor="#000000" android:pathData="M96.5,97c-1.8,2 -1.8,2.1 0.1,4.1 3.6,3.5 8.1,-0.5 4.8,-4.2 -2.2,-2.4 -2.7,-2.4 -4.9,0.1z" android:strokeColor="#00000000"/>
</vector>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="32dp" android:viewportHeight="124" android:viewportWidth="124" android:width="32dp">
<path android:fillColor="#000000" android:pathData="M15.3,15.6c-2.1,2.1 -2.4,3.2 -2,6.2 0.4,2 1.3,4 2.2,4.4 1.3,0.8 1.5,6.3 1.5,43.7 0,37.9 0.2,43 1.6,44.2 2.2,1.8 4.8,-0 5.4,-3.7l0.5,-2.9 37.5,-0 37.5,-0 0.5,2.9c0.6,3.7 3.2,5.5 5.4,3.7 1.4,-1.2 1.6,-6.3 1.6,-44.3 0,-36.8 0.2,-42.9 1.5,-43.4 1.9,-0.8 3,-6.7 1.6,-9.3 -2.9,-5.4 -10.5,-5.2 -13.5,0.3 -1.6,3.1 -1.7,3.6 -0.2,6.4 0.9,1.7 2,3.4 2.6,3.7 0.5,0.3 1,1.7 1,3.1l0,2.4 -38,-0 -38,-0 0,-2.4c0,-1.4 0.4,-2.7 0.9,-3.1 0.6,-0.3 1.7,-2 2.6,-3.7 1.5,-3 1.4,-3.5 -0.2,-6.5 -2.7,-5 -7.9,-5.8 -12,-1.7zM33,59.5l0,18.5 4,-0 4,-0 0,-18.5 0,-18.5 4.5,-0 4.5,-0 0,18.5 0,18.5 4,-0 4,-0 0,-18.5 0,-18.5 4,-0 4,-0 0,18.5 0,18.5 4,-0 4,-0 0,-18.5 0,-18.5 4.5,-0 4.5,-0 0,18.5 0,18.5 4,-0 4,-0 0,-18.6 0,-18.5 4.3,0.3 4.2,0.3 0,22.5 0,22.5 -37.5,-0 -37.5,-0 -0.3,-21.5c-0.1,-11.8 0,-22 0.2,-22.7 0.3,-0.8 2.2,-1.3 4.6,-1.3l4,-0 0,18.5z" android:strokeColor="#00000000"/>
</vector>
<?xml version="1.0" encoding="utf-8"?>
<shape android:shape="rectangle"
xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@android:color/transparent"/> <!-- Background color -->
<stroke android:width="2dp" android:color="@color/purple"/> <!-- Border color and width -->
<corners android:radius="16dp"/> <!-- Rounded corners -->
<padding android:left="2dp" android:top="2dp" android:right="2dp" android:bottom="2dp" />
</shape>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@android:color/white"/> <!-- Background color -->
<corners android:radius="16dp"/> <!-- Adjust the radius for the corners -->
</shape>
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/cancel_red">
<item android:id="@android:id/mask">
<color android:color="@android:color/white" />
</item>
</ripple>
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".activities.ApplicationSettingsActivity">
<include
layout="@layout/appbar"/>
<ImageView
android:id="@+id/background"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/b_care_action_bar"
app:layout_constraintBottom_toBottomOf="parent"
android:src="@drawable/background"
android:contentDescription="background-image"
android:scaleType="centerCrop"
android:alpha="0.4"/>
<RelativeLayout
android:id="@+id/rl_header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/rl_background"
android:backgroundTint="#62178F"
app:layout_constraintTop_toTopOf="@+id/background"
app:layout_constraintStart_toStartOf="@id/background"
app:layout_constraintEnd_toEndOf="@id/background"
android:padding="8dp">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Application Settings"
android:textAlignment="center"
android:textColor="@color/white"
android:textAllCaps="true"
android:fontFamily="@font/inknut_antiqua_regular"
android:textSize="20sp"/>
</RelativeLayout>
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintTop_toBottomOf="@id/rl_header"
app:layout_constraintBottom_toBottomOf="@id/background"
app:layout_constraintEnd_toEndOf="@id/background"
app:layout_constraintStart_toStartOf="@id/background"
android:scrollbars="none">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginTop="8dp"
android:paddingBottom="50dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:padding="16dp"
android:orientation="vertical">
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:cardCornerRadius="16dp"
app:cardElevation="4dp"
android:background="@drawable/image_border">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/img_application_settings"
android:contentDescription="Application Settings"
android:scaleType="centerCrop"/>
</androidx.cardview.widget.CardView>
<TextView
android:id="@+id/tvAppName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Childy App"
android:textAllCaps="true"
android:layout_marginTop="18dp"
android:textStyle="bold"
android:textColor="@color/purple"
android:textSize="24sp"
android:fontFamily="@font/inknut_antiqua_regular"/>
<TextView
android:id="@+id/tvAbout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:textStyle="bold"
android:textSize="16sp"
android:textColor="@color/black"
android:text="@string/about"
android:justificationMode="inter_word"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:textStyle="bold"
android:textSize="14sp"
android:textColor="@color/purple"
android:text="@string/version"
android:textAlignment="textEnd"/>
</LinearLayout>
<LinearLayout
android:id="@+id/btnChangeAppTheme"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="40dp"
android:layout_marginTop="28dp"
android:layout_marginRight="40dp"
android:background="@drawable/btn_backgroup_radius"
android:padding="6dp"
android:orientation="horizontal"
android:gravity="center_vertical">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Color Theme"
android:textColor="@color/black"
android:textStyle="bold"
android:textAlignment="center"
android:fontFamily="@font/inknut_antiqua_regular"
android:textSize="18sp"/>
<ImageView
android:layout_width="0dp"
android:layout_height="80dp"
android:src="@drawable/ico_pallete"
android:contentDescription="Settings"
android:layout_weight="0.5"
app:tint="@color/purple"/>
</LinearLayout>
</LinearLayout>
</ScrollView>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".activities.DeviceControlsActivity">
<include
layout="@layout/appbar"/>
<ImageView
android:id="@+id/background"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/b_care_action_bar"
app:layout_constraintBottom_toBottomOf="parent"
android:src="@drawable/background"
android:contentDescription="background-image"
android:scaleType="centerCrop"
android:alpha="0.4"/>
<RelativeLayout
android:id="@+id/rl_header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/rl_background"
android:backgroundTint="#62178F"
app:layout_constraintTop_toTopOf="@+id/background"
app:layout_constraintStart_toStartOf="@id/background"
app:layout_constraintEnd_toEndOf="@id/background"
android:padding="8dp">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Device Controls"
android:textAlignment="center"
android:textColor="@color/white"
android:textAllCaps="true"
android:fontFamily="@font/inknut_antiqua_regular"
android:textSize="20sp"/>
</RelativeLayout>
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintTop_toBottomOf="@id/rl_header"
app:layout_constraintBottom_toBottomOf="@id/background"
app:layout_constraintEnd_toEndOf="@id/background"
app:layout_constraintStart_toStartOf="@id/background"
android:scrollbars="none">
<GridLayout
android:id="@+id/gridLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:columnCount="2"
android:rowCount="3"
android:orientation="horizontal"
android:paddingTop="20dp"
android:paddingBottom="20dp"
android:layout_gravity="center_horizontal">
<LinearLayout
android:id="@+id/btnSwing"
android:layout_width="150dp"
android:layout_height="150dp"
android:layout_margin="16dp"
android:background="@drawable/positive_btn_background"
android:backgroundTint="@color/white"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:layout_width="90dp"
android:layout_height="90dp"
android:src="@drawable/ico_swing_set"
app:tint="@color/icon_color" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:fontFamily="@font/acme_regular"
android:text="Swing ON"
android:textColor="@color/black"
android:textSize="15sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/btnPlaySong"
android:layout_width="150dp"
android:layout_height="150dp"
android:layout_margin="16dp"
android:background="@drawable/positive_btn_background"
android:backgroundTint="@color/white"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:layout_width="90dp"
android:layout_height="90dp"
android:src="@drawable/ico_music_set"
app:tint="@color/icon_color" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:fontFamily="@font/acme_regular"
android:text="Play Song"
android:textColor="@color/black"
android:textSize="15sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/btnCallNanny"
android:layout_width="150dp"
android:layout_height="150dp"
android:layout_margin="16dp"
android:background="@drawable/positive_btn_background"
android:backgroundTint="@color/white"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:layout_width="90dp"
android:layout_height="90dp"
android:src="@drawable/ico_call_nany_set"
app:tint="@color/icon_color" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:fontFamily="@font/acme_regular"
android:text="Call Nanny"
android:textColor="@color/black"
android:textSize="15sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/btnCallCradle"
android:layout_width="150dp"
android:layout_height="150dp"
android:layout_margin="16dp"
android:background="@drawable/positive_btn_background"
android:backgroundTint="@color/white"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:layout_width="90dp"
android:layout_height="90dp"
android:src="@drawable/ico_call_cradle_set"
app:tint="@color/icon_color" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:fontFamily="@font/acme_regular"
android:text="Call Cradle"
android:textColor="@color/black"
android:textSize="15sp" />
</LinearLayout>
</GridLayout>
</ScrollView>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".activities.DeviceSettingsActivity">
<include
layout="@layout/appbar"/>
<ImageView
android:id="@+id/background"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/b_care_action_bar"
app:layout_constraintBottom_toBottomOf="parent"
android:src="@drawable/background"
android:contentDescription="background-image"
android:scaleType="centerCrop"
android:alpha="0.4"/>
<RelativeLayout
android:id="@+id/rl_header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/rl_background"
android:backgroundTint="#62178F"
app:layout_constraintTop_toTopOf="@+id/background"
app:layout_constraintStart_toStartOf="@id/background"
app:layout_constraintEnd_toEndOf="@id/background"
android:padding="8dp">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Settings"
android:textAlignment="center"
android:textColor="@color/white"
android:textAllCaps="true"
android:fontFamily="@font/inknut_antiqua_regular"
android:textSize="20sp"/>
</RelativeLayout>
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintTop_toBottomOf="@id/rl_header"
app:layout_constraintBottom_toBottomOf="@id/background"
app:layout_constraintEnd_toEndOf="@id/background"
app:layout_constraintStart_toStartOf="@id/background"
android:scrollbars="none">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">
<LinearLayout
android:id="@+id/btnSetCradleCont"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:background="@drawable/positive_btn_background"
android:backgroundTint="@color/white"
android:orientation="horizontal"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:paddingStart="30dp"
android:paddingEnd="30dp">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_gravity="center_vertical"
android:fontFamily="@font/acme_regular"
android:text="Cradle Contact"
android:textColor="@color/black"
android:textSize="18sp" />
<ImageView
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_gravity="center_vertical"
android:src="@drawable/ico_call_cradle_set"
app:tint="@color/icon_color" />
</LinearLayout>
<LinearLayout
android:id="@+id/btnSetNannyCont"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:background="@drawable/positive_btn_background"
android:backgroundTint="@color/white"
android:orientation="horizontal"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:paddingStart="30dp"
android:paddingEnd="30dp">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_gravity="center_vertical"
android:fontFamily="@font/acme_regular"
android:text="Nanny Contact"
android:textColor="@color/black"
android:textSize="18sp" />
<ImageView
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_gravity="center_vertical"
android:src="@drawable/ico_call_nany_set"
app:tint="@color/icon_color" />
</LinearLayout>
</LinearLayout>
</ScrollView>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
...@@ -74,7 +74,7 @@ ...@@ -74,7 +74,7 @@
android:id="@+id/tvLlStatusLabel" android:id="@+id/tvLlStatusLabel"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="Last Baby's Status:" android:text="Last Baby's Mood:"
android:textColor="@color/black" android:textColor="@color/black"
android:textSize="18sp" android:textSize="18sp"
android:layout_marginEnd="8dp"/> android:layout_marginEnd="8dp"/>
......
...@@ -51,55 +51,12 @@ ...@@ -51,55 +51,12 @@
</RelativeLayout> </RelativeLayout>
<!-- Header Row for the Table -->
<LinearLayout
android:id="@+id/headerRow"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="@color/gray"
android:paddingTop="6dp"
android:paddingStart="15dp"
android:paddingEnd="15dp"
android:paddingBottom="6dp"
app:layout_constraintTop_toBottomOf="@id/rl_header"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.8"
android:text="Id"
android:textSize="16sp"
android:textStyle="bold"
android:textColor="@color/black"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="Activity Type"
android:textSize="16sp"
android:textStyle="bold"
android:textColor="@color/black"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="3"
android:text="Description"
android:textSize="16sp"
android:textStyle="bold"
android:textColor="@color/black"/>
</LinearLayout>
<!-- RecyclerView for the Table Content --> <!-- RecyclerView for the Table Content -->
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_activity_notifications" android:id="@+id/rv_activity_notifications"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="0dp" android:layout_height="0dp"
app:layout_constraintTop_toBottomOf="@id/headerRow" app:layout_constraintTop_toBottomOf="@id/rl_header"
app:layout_constraintBottom_toBottomOf="@id/background" app:layout_constraintBottom_toBottomOf="@id/background"
app:layout_constraintEnd_toEndOf="@id/background" app:layout_constraintEnd_toEndOf="@id/background"
app:layout_constraintStart_toStartOf="@id/background" app:layout_constraintStart_toStartOf="@id/background"
...@@ -107,7 +64,41 @@ ...@@ -107,7 +64,41 @@
android:paddingTop="6dp" android:paddingTop="6dp"
android:paddingStart="15dp" android:paddingStart="15dp"
android:paddingEnd="15dp" android:paddingEnd="15dp"
android:paddingBottom="6dp"/> android:paddingBottom="6dp"
android:background="@drawable/noti_recycler_view_background"
android:layout_marginTop="8dp"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"/>
<!-- Notification Icon -->
<ImageView
android:id="@+id/notification_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:layout_marginTop="16dp"
android:src="@drawable/ico_notifications_active_32"
android:contentDescription="Notification Icon"
app:layout_constraintTop_toTopOf="@id/rv_activity_notifications"
app:layout_constraintEnd_toEndOf="@id/rv_activity_notifications"
android:layout_gravity="end"
app:tint="@color/purple" />
<!-- Clear Icon -->
<ImageView
android:id="@+id/clear_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp"
android:src="@drawable/ico_delete"
android:contentDescription="Clear History Icon"
app:layout_constraintBottom_toBottomOf="@id/rv_activity_notifications"
app:layout_constraintEnd_toEndOf="@id/rv_activity_notifications"
android:layout_gravity="end"
app:tint="@color/icon_color_selector" />
<TextView <TextView
android:id="@+id/no_content_message" android:id="@+id/no_content_message"
......
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".activities.SettingsActivity">
<include
layout="@layout/appbar"/>
<ImageView
android:id="@+id/background"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/b_care_action_bar"
app:layout_constraintBottom_toBottomOf="parent"
android:src="@drawable/background"
android:contentDescription="background-image"
android:scaleType="centerCrop"
android:alpha="0.4"/>
<RelativeLayout
android:id="@+id/rl_header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/rl_background"
android:backgroundTint="#62178F"
app:layout_constraintTop_toTopOf="@+id/background"
app:layout_constraintStart_toStartOf="@id/background"
app:layout_constraintEnd_toEndOf="@id/background"
android:padding="8dp">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Settings"
android:textAlignment="center"
android:textColor="@color/white"
android:textAllCaps="true"
android:fontFamily="@font/inknut_antiqua_regular"
android:textSize="20sp"/>
</RelativeLayout>
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintTop_toBottomOf="@id/rl_header"
app:layout_constraintBottom_toBottomOf="@id/background"
app:layout_constraintEnd_toEndOf="@id/background"
app:layout_constraintStart_toStartOf="@id/background"
android:scrollbars="none">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">
<LinearLayout
android:id="@+id/btnDeviceSettings"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:background="@drawable/positive_btn_background"
android:backgroundTint="@color/white"
android:orientation="horizontal"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:paddingStart="30dp"
android:paddingEnd="30dp">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_gravity="center_vertical"
android:fontFamily="@font/acme_regular"
android:text="Device Settings"
android:textColor="@color/black"
android:textSize="18sp" />
<ImageView
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_gravity="center_vertical"
android:src="@drawable/ico_computer_settings"
app:tint="@color/icon_color" />
</LinearLayout>
<LinearLayout
android:id="@+id/btnProfileSettings"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:background="@drawable/positive_btn_background"
android:backgroundTint="@color/white"
android:orientation="horizontal"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:paddingStart="30dp"
android:paddingEnd="30dp">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_gravity="center_vertical"
android:fontFamily="@font/acme_regular"
android:text="Profile Settings"
android:textColor="@color/black"
android:textSize="18sp" />
<ImageView
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_gravity="center_vertical"
android:src="@drawable/ico_prof_set"
app:tint="@color/icon_color" />
</LinearLayout>
<LinearLayout
android:id="@+id/btnAppSettings"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:background="@drawable/positive_btn_background"
android:backgroundTint="@color/white"
android:orientation="horizontal"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:paddingStart="30dp"
android:paddingEnd="30dp">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_gravity="center_vertical"
android:fontFamily="@font/acme_regular"
android:text="Application Settings"
android:textColor="@color/black"
android:textSize="18sp" />
<ImageView
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_gravity="center_vertical"
android:src="@drawable/ico_app_set"
app:tint="@color/icon_color" />
</LinearLayout>
</LinearLayout>
</ScrollView>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
...@@ -6,21 +6,25 @@ ...@@ -6,21 +6,25 @@
android:padding="8dp"> android:padding="8dp">
<TextView <TextView
android:id="@+id/tvActivityLogId" android:id="@+id/tvLogTime"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="0.8" android:layout_weight="2"
android:text="Id" android:text="Date &amp; Time"
android:textSize="16sp" android:textSize="16sp"
android:textStyle="bold"/> android:textStyle="bold"
android:paddingRight="4dp"
android:textColor="@color/black"
android:fontFamily="@font/acme_regular"/>
<TextView <TextView
android:id="@+id/tvActivityType" android:id="@+id/tvActivityType"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="2" android:layout_weight="1.6"
android:text="Activity Type" android:text="Activity Type"
android:textSize="16sp" /> android:textSize="16sp"
android:paddingRight="4dp"/>
<TextView <TextView
android:id="@+id/tvDescription" android:id="@+id/tvDescription"
...@@ -28,6 +32,8 @@ ...@@ -28,6 +32,8 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="3" android:layout_weight="3"
android:text="Description" android:text="Description"
android:textSize="16sp" /> android:textSize="16sp"
android:textColor="@color/black"
android:fontFamily="@font/acme_regular" />
</LinearLayout> </LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<color name="black">#FF000000</color>
<color name="white">#FFFFFFFF</color>
<color name="purple">#8147A4</color> <color name="purple">#8147A4</color>
<color name="dark_purple">#673983</color>
<color name="link_blue">#0000EE</color> <color name="link_blue">#0000EE</color>
<color name="transparent">#00FFFFFF</color> <color name="transparent">#00FFFFFF</color>
<color name="icon_color">#585AAA</color> <color name="icon_color">#585AAA</color>
...@@ -9,5 +12,5 @@ ...@@ -9,5 +12,5 @@
<color name="cancel_dark_red">#CC0000</color> <color name="cancel_dark_red">#CC0000</color>
<color name="success_green">#28A745</color> <color name="success_green">#28A745</color>
<color name="success_dark_green">#218838</color> <color name="success_dark_green">#218838</color>
<color name="gray">#D3D3D3</color> <!-- Light gray color --> <color name="gray">#D3D3D3</color>
</resources> </resources>
\ No newline at end of file
...@@ -12,5 +12,5 @@ ...@@ -12,5 +12,5 @@
<color name="cancel_dark_red">#CC0000</color> <color name="cancel_dark_red">#CC0000</color>
<color name="success_green">#28A745</color> <color name="success_green">#28A745</color>
<color name="success_dark_green">#218838</color> <color name="success_dark_green">#218838</color>
<color name="gray">#D3D3D3</color> <!-- Light gray color --> <color name="gray">#D3D3D3</color>
</resources> </resources>
\ No newline at end of file
...@@ -20,4 +20,6 @@ ...@@ -20,4 +20,6 @@
<string name="last_name_label">Last name</string> <string name="last_name_label">Last name</string>
<string name="birth_date_req">Birth date<font color="#FF0000"> *</font></string> <string name="birth_date_req">Birth date<font color="#FF0000"> *</font></string>
<string name="sex">Sex<font color="#FF0000"> *</font></string> <string name="sex">Sex<font color="#FF0000"> *</font></string>
<string name="about">A child is a human being between the stages of birth and puberty, or between the developmental periods of infancy and puberty. It may also refer to an unborn human being. The legal definition of a child generally refers to a minor, which is a person younger than the age of majority.</string>
<string name="version">Version 0.1</string>
</resources> </resources>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment