From 019577e230464d8ae7689a36b019d11e6718ec45 Mon Sep 17 00:00:00 2001 From: vaneck237 Date: Mon, 9 Feb 2026 17:55:09 +0100 Subject: [PATCH] adjust app colors and add dark mode --- build.gradle | 2 +- claimManagement/build.gradle | 3 +- claimManagement/src/main/AndroidManifest.xml | 3 +- .../java/org/openimis/imisclaims/Global.java | 20 +++++++++++ .../org/openimis/imisclaims/MainActivity.java | 1 + .../openimis/imisclaims/SettingsActivity.java | 33 +++++++++++++++++++ .../src/main/res/drawable-v24/corner.xml | 2 +- .../src/main/res/drawable/corner.xml | 2 +- .../src/main/res/drawable/side_nav_bar.xml | 6 ++-- .../fragment_claim_listing_recycler_item.xml | 8 ++--- .../src/main/res/layout/settings.xml | 26 +++++++++++++++ .../src/main/res/values-night/colors.xml | 29 ++++++++++++++++ .../src/main/res/values-night/themes.xml | 26 +++++++++++++++ .../src/main/res/values/colors.xml | 8 +++-- .../src/main/res/values/strings.xml | 1 + .../src/main/res/values/styles.xml | 24 -------------- .../src/main/res/values/themes.xml | 28 ++++++++++++++++ gradle.properties | 3 ++ gradle/wrapper/gradle-wrapper.properties | 7 ++-- 19 files changed, 189 insertions(+), 43 deletions(-) create mode 100644 claimManagement/src/main/res/values-night/colors.xml create mode 100644 claimManagement/src/main/res/values-night/themes.xml create mode 100644 claimManagement/src/main/res/values/themes.xml 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 c3a245d7..6f5857b2 100644 --- a/claimManagement/build.gradle +++ b/claimManagement/build.gradle @@ -68,7 +68,7 @@ android { demoProd { applicationIdSuffix ".demoProd" resValue "string", "app_name_claims", "Claims Demo" - buildConfigField "String", "API_BASE_URL", '"http://demo.openimis.org/"' + buildConfigField "String", "API_BASE_URL", '"https://demo.openimis.org/"' dimension 'std' } @@ -180,6 +180,7 @@ android { packagingOptions { exclude 'META-INF/DEPENDENCIES' } + namespace 'org.openimis.imisclaims' } apollo { diff --git a/claimManagement/src/main/AndroidManifest.xml b/claimManagement/src/main/AndroidManifest.xml index db8ddd0b..707f467d 100644 --- a/claimManagement/src/main/AndroidManifest.xml +++ b/claimManagement/src/main/AndroidManifest.xml @@ -1,7 +1,6 @@ + xmlns:tools="http://schemas.android.com/tools"> diff --git a/claimManagement/src/main/java/org/openimis/imisclaims/Global.java b/claimManagement/src/main/java/org/openimis/imisclaims/Global.java index 05345d19..58a70f04 100644 --- a/claimManagement/src/main/java/org/openimis/imisclaims/Global.java +++ b/claimManagement/src/main/java/org/openimis/imisclaims/Global.java @@ -59,11 +59,14 @@ import static org.openimis.imisclaims.BuildConfig.RAR_PASSWORD; +import androidx.appcompat.app.AppCompatDelegate; + import org.openimis.imisclaims.tools.Log; 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; @@ -330,4 +333,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 2ef953f4..25cad605 100644 --- a/claimManagement/src/main/java/org/openimis/imisclaims/MainActivity.java +++ b/claimManagement/src/main/java/org/openimis/imisclaims/MainActivity.java @@ -150,6 +150,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 9e4c04d2..640f4fcb 100644 --- a/claimManagement/src/main/res/values/strings.xml +++ b/claimManagement/src/main/res/values/strings.xml @@ -256,4 +256,5 @@ This healthfacility don\'t have services pricelist This healthfacility don\'t have items pricelist New changes: + Dark mode 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.properties b/gradle.properties index 5465fec0..e3dfef4e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,5 @@ +android.defaults.buildfeatures.buildconfig=true android.enableJetifier=true +android.nonFinalResIds=false +android.nonTransitiveRClass=false android.useAndroidX=true \ 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