diff --git a/build.gradle b/build.gradle
index e5ab07cc..17c10678 100644
--- a/build.gradle
+++ b/build.gradle
@@ -7,7 +7,7 @@ buildscript {
mavenCentral()
}
dependencies {
- classpath 'com.android.tools.build:gradle:7.3.1'
+ classpath 'com.android.tools.build:gradle:8.13.0'
classpath 'com.apollographql.apollo:apollo-gradle-plugin:2.5.14'
// NOTE: Do not place your application dependencies here; they belong
diff --git a/claimManagement/build.gradle b/claimManagement/build.gradle
index 997e7889..04803512 100644
--- a/claimManagement/build.gradle
+++ b/claimManagement/build.gradle
@@ -183,6 +183,7 @@ android {
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
}
+ namespace 'org.openimis.imisclaims'
testOptions {
unitTests {
diff --git a/claimManagement/src/main/java/org/openimis/imisclaims/Global.java b/claimManagement/src/main/java/org/openimis/imisclaims/Global.java
index 35965dce..4f4c461e 100644
--- a/claimManagement/src/main/java/org/openimis/imisclaims/Global.java
+++ b/claimManagement/src/main/java/org/openimis/imisclaims/Global.java
@@ -59,12 +59,15 @@
import static org.openimis.imisclaims.BuildConfig.RAR_PASSWORD;
+import androidx.appcompat.app.AppCompatDelegate;
+
import org.openimis.imisclaims.tools.Log;
import org.openimis.imisclaims.network.util.PersistentCookieJar;
public class Global extends Application {
private static final String SHPREF_NAME = "SHPref";
private static final String SHPREF_LANGUAGE = "language";
+ private static final String SHPREF_DARK_MODE = "night";
private static final String DEFAULT_LANGUAGE_CODE = "en";
private static final String SHPREF_CSRF = "csrfToken";
private static Global instance;
@@ -359,4 +362,21 @@ public void setSavedLanguage(String languageCode) {
editor.putString(SHPREF_LANGUAGE, languageCode);
editor.apply();
}
+
+ public void getDarkMode () {
+ SharedPreferences sp = getDefaultSharedPreferences();
+ boolean dark_mode = sp.getBoolean(SHPREF_DARK_MODE, false);
+ if(dark_mode){
+ AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
+ } else {
+ AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
+ }
+ }
+
+ public void setDarkMode(boolean darkMode){
+ SharedPreferences sp = getDefaultSharedPreferences();
+ SharedPreferences.Editor editor = sp.edit();
+ editor.putBoolean(SHPREF_DARK_MODE, darkMode);
+ editor.apply();
+ }
}
diff --git a/claimManagement/src/main/java/org/openimis/imisclaims/MainActivity.java b/claimManagement/src/main/java/org/openimis/imisclaims/MainActivity.java
index ee2076d1..38edd0c7 100644
--- a/claimManagement/src/main/java/org/openimis/imisclaims/MainActivity.java
+++ b/claimManagement/src/main/java/org/openimis/imisclaims/MainActivity.java
@@ -158,6 +158,7 @@ protected void onCreate(Bundle savedInstanceState) {
entered_Count.setText("0");
AdminName = findViewById(R.id.AdminName);
+ global.getDarkMode();
if (checkRequirements()) {
onAllRequirementsMet();
diff --git a/claimManagement/src/main/java/org/openimis/imisclaims/SettingsActivity.java b/claimManagement/src/main/java/org/openimis/imisclaims/SettingsActivity.java
index ef35f331..b00e5484 100644
--- a/claimManagement/src/main/java/org/openimis/imisclaims/SettingsActivity.java
+++ b/claimManagement/src/main/java/org/openimis/imisclaims/SettingsActivity.java
@@ -1,11 +1,17 @@
package org.openimis.imisclaims;
import android.app.AlertDialog;
+import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.util.Base64;
+import android.view.View;
import android.widget.Button;
+import android.widget.CompoundButton;
import android.widget.EditText;
+import android.widget.Switch;
+
+import androidx.appcompat.app.AppCompatDelegate;
import java.security.MessageDigest;
import java.security.SecureRandom;
@@ -21,6 +27,11 @@ public class SettingsActivity extends ImisActivity {
private String salt, password;
public static String generatedSalt;
Global global;
+ private Switch mode_switch;
+ SharedPreferences sharedPreferences;
+ SharedPreferences.Editor editor;
+ private static final String SHPREF_NAME = "SHPref";
+ boolean dark_mode;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -32,6 +43,15 @@ protected void onCreate(Bundle savedInstanceState) {
btnSaveRarPwd = (Button)findViewById(R.id.btnSaveRarPwd);
etRarPassword = (EditText)findViewById(R.id.rarPassword);
btnDefaultRarPassword = (Button) findViewById(R.id.btnDefaultRarPassword);
+ mode_switch = findViewById(R.id.mode_switch);
+ global = (Global) getApplicationContext();
+
+ sharedPreferences = getSharedPreferences(SHPREF_NAME, Context.MODE_PRIVATE);
+ dark_mode = sharedPreferences.getBoolean("night", false);
+
+ if(dark_mode){
+ mode_switch.setChecked(true);
+ }
btnSaveRarPwd.setOnClickListener(view -> {
if(etRarPassword.getText().length() == 0){
@@ -52,6 +72,19 @@ protected void onCreate(Bundle savedInstanceState) {
ShowDialog("Password has been changed to the default rar password");
});
+ mode_switch.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ if(dark_mode){
+ global.setDarkMode(false);
+ AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
+ } else {
+ global.setDarkMode(true);
+ AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
+ }
+ }
+ });
+
}
public static String getGeneratedSalt() {
diff --git a/claimManagement/src/main/res/drawable-v24/corner.xml b/claimManagement/src/main/res/drawable-v24/corner.xml
index 6ce4c7b4..59fee49f 100644
--- a/claimManagement/src/main/res/drawable-v24/corner.xml
+++ b/claimManagement/src/main/res/drawable-v24/corner.xml
@@ -5,5 +5,5 @@
-
+
\ No newline at end of file
diff --git a/claimManagement/src/main/res/drawable/corner.xml b/claimManagement/src/main/res/drawable/corner.xml
index 6ce4c7b4..59fee49f 100644
--- a/claimManagement/src/main/res/drawable/corner.xml
+++ b/claimManagement/src/main/res/drawable/corner.xml
@@ -5,5 +5,5 @@
-
+
\ No newline at end of file
diff --git a/claimManagement/src/main/res/drawable/side_nav_bar.xml b/claimManagement/src/main/res/drawable/side_nav_bar.xml
index e0ebde99..31d31627 100644
--- a/claimManagement/src/main/res/drawable/side_nav_bar.xml
+++ b/claimManagement/src/main/res/drawable/side_nav_bar.xml
@@ -2,8 +2,8 @@
android:shape="rectangle">
\ No newline at end of file
diff --git a/claimManagement/src/main/res/layout/fragment_claim_listing_recycler_item.xml b/claimManagement/src/main/res/layout/fragment_claim_listing_recycler_item.xml
index 68c39194..b7037c8b 100644
--- a/claimManagement/src/main/res/layout/fragment_claim_listing_recycler_item.xml
+++ b/claimManagement/src/main/res/layout/fragment_claim_listing_recycler_item.xml
@@ -23,7 +23,7 @@
android:layout_alignParentStart="true"
android:layout_marginTop="@dimen/text_margin"
android:layout_marginStart="@dimen/text_margin"
- android:textColor="@color/white"
+ android:textColor="@color/text_color"
android:textSize="@dimen/text_size_header">
@@ -35,7 +35,7 @@
android:layout_alignParentEnd="true"
android:layout_marginEnd="@dimen/text_margin"
android:layout_marginTop="@dimen/text_margin"
- android:textColor="@color/white"
+ android:textColor="@color/text_color"
android:textSize="@dimen/text_size_header">
@@ -56,7 +56,7 @@
android:layout_alignParentStart="true"
android:layout_marginBottom="@dimen/text_margin"
android:layout_marginStart="@dimen/text_margin"
- android:textColor="@color/white"
+ android:textColor="@color/text_color"
android:textSize="@dimen/text_size_content">
@@ -68,7 +68,7 @@
android:layout_alignParentEnd="true"
android:layout_marginBottom="@dimen/text_margin"
android:layout_marginEnd="@dimen/text_margin"
- android:textColor="@color/white"
+ android:textColor="@color/text_color"
android:textSize="@dimen/text_size_content">
diff --git a/claimManagement/src/main/res/layout/settings.xml b/claimManagement/src/main/res/layout/settings.xml
index 05bd3e51..ce81d42b 100644
--- a/claimManagement/src/main/res/layout/settings.xml
+++ b/claimManagement/src/main/res/layout/settings.xml
@@ -61,4 +61,30 @@
android:text="@string/SaveRarPassword" />
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/claimManagement/src/main/res/values-night/colors.xml b/claimManagement/src/main/res/values-night/colors.xml
new file mode 100644
index 00000000..8cb1b480
--- /dev/null
+++ b/claimManagement/src/main/res/values-night/colors.xml
@@ -0,0 +1,29 @@
+
+
+
+ #006273
+ #00525F
+ #ececec
+ #FF4081
+ #747474
+ #121212
+ #ececec
+
+
+ #00ff00
+ #00c600
+ #FFA500
+ #ffbe48
+ #f7de04
+ #000
+ #FFFFFF
+ #d5cf4200
+ #000000
+ #8C8C8C
+ #ececec
+ #121248
+ #373737
+ #ececec
+
+
+
\ No newline at end of file
diff --git a/claimManagement/src/main/res/values-night/themes.xml b/claimManagement/src/main/res/values-night/themes.xml
new file mode 100644
index 00000000..0a2934ec
--- /dev/null
+++ b/claimManagement/src/main/res/values-night/themes.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/claimManagement/src/main/res/values/colors.xml b/claimManagement/src/main/res/values/colors.xml
index c3c51304..82e2904a 100644
--- a/claimManagement/src/main/res/values/colors.xml
+++ b/claimManagement/src/main/res/values/colors.xml
@@ -1,8 +1,8 @@
- #090925
- #080c21
- #080c21
+ #006273
+ #00525F
+ #006273
#FF4081
#747474
#ffffff
@@ -22,6 +22,8 @@
#404040
#00197c
#121248
+ #ececec
+ #ececec
diff --git a/claimManagement/src/main/res/values/strings.xml b/claimManagement/src/main/res/values/strings.xml
index d63b68fe..83205da1 100644
--- a/claimManagement/src/main/res/values/strings.xml
+++ b/claimManagement/src/main/res/values/strings.xml
@@ -256,6 +256,7 @@
This healthfacility don\'t have services pricelist
This healthfacility don\'t have items pricelist
New changes:
+ Dark mode
Claim accepted
Claim rejected
Invalid disease code
diff --git a/claimManagement/src/main/res/values/styles.xml b/claimManagement/src/main/res/values/styles.xml
index cd0f4f14..f11f7450 100644
--- a/claimManagement/src/main/res/values/styles.xml
+++ b/claimManagement/src/main/res/values/styles.xml
@@ -1,27 +1,3 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/claimManagement/src/main/res/values/themes.xml b/claimManagement/src/main/res/values/themes.xml
new file mode 100644
index 00000000..402962ac
--- /dev/null
+++ b/claimManagement/src/main/res/values/themes.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index a77e98eb..c3f6c760 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,7 @@
-#Fri Dec 03 10:17:47 CET 2021
distributionBase=GRADLE_USER_HOME
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip
distributionPath=wrapper/dists
-zipStorePath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
\ No newline at end of file