diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 837d337b..9dbf788e 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -6,23 +6,15 @@ android:name="android.hardware.camera" android:required="false" /> - - - - - - - - - + + @@ -45,15 +38,16 @@ android:exported="false" /> + android:exported="false" /> + + android:label="@string/title_activity_heart_rate" /> + @@ -162,16 +156,18 @@ android:exported="false" /> + android:exported="false" /> + + - - + + @@ -186,19 +182,15 @@ android:exported="false" /> - - - - @@ -212,7 +204,6 @@ android:exported="false" android:label="Patient Exercise Modules" /> - @@ -226,6 +217,6 @@ android:resource="@array/preloaded_fonts" /> - - \ No newline at end of file + + diff --git a/app/src/main/java/deakin/gopher/guardian/services/api/ApiClient.kt b/app/src/main/java/deakin/gopher/guardian/services/api/ApiClient.kt index 48eff44c..9feacd0c 100644 --- a/app/src/main/java/deakin/gopher/guardian/services/api/ApiClient.kt +++ b/app/src/main/java/deakin/gopher/guardian/services/api/ApiClient.kt @@ -7,7 +7,7 @@ import retrofit2.converter.gson.GsonConverterFactory object RetrofitClient { // private const val BASE_URL = "http://10.0.2.2:3000/api/v1/" - private const val BASE_URL = "https://guardian-backend-opal.vercel.app/api/v1/" + private const val BASE_URL = "https://guardian-backend-x5v6.vercel.app/api/v1/" private val client = OkHttpClient() private val interceptor = HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BODY) diff --git a/app/src/main/java/deakin/gopher/guardian/view/general/BaseActivity.kt b/app/src/main/java/deakin/gopher/guardian/view/general/BaseActivity.kt index ea26ac00..99ce0d46 100644 --- a/app/src/main/java/deakin/gopher/guardian/view/general/BaseActivity.kt +++ b/app/src/main/java/deakin/gopher/guardian/view/general/BaseActivity.kt @@ -1,17 +1,35 @@ package deakin.gopher.guardian.view.general import android.content.Intent +import android.content.SharedPreferences import androidx.appcompat.app.AppCompatActivity +import androidx.appcompat.app.AppCompatDelegate +import android.os.Bundle import deakin.gopher.guardian.model.login.SessionManager import deakin.gopher.guardian.model.login.SessionManager.isLoggedIn import deakin.gopher.guardian.model.login.SessionManager.logoutUser import deakin.gopher.guardian.model.login.SessionManager.updateLastActiveTime abstract class BaseActivity : AppCompatActivity() { + + override fun onCreate(savedInstanceState: Bundle?) { + // 🔑 Apply night mode before super.onCreate() + setContentView() + val sharedPreferences: SharedPreferences = getSharedPreferences("settings", MODE_PRIVATE) + val isNightMode: Boolean = sharedPreferences.getBoolean("night_mode", false) + + if (isNightMode) { + AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES) + } else { + AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO) + } + + super.onCreate(savedInstanceState) + } + override fun onResume() { super.onResume() - // Check for user session expiry and timeout + // ✅ Session timeout logic if (isLoggedIn) { val lastActiveTime: Long = SessionManager.getLastActiveTime() val currentTime = System.currentTimeMillis() diff --git a/app/src/main/res/layout/account_authentication.xml b/app/src/main/res/layout/account_authentication.xml index f38ad735..42d06946 100644 --- a/app/src/main/res/layout/account_authentication.xml +++ b/app/src/main/res/layout/account_authentication.xml @@ -2,252 +2,125 @@ + android:padding="24dp" + android:background="@android:color/white" + tools:context=".ui.auth.AuthenticationActivity"> - + - - - - + app:layout_constraintEnd_toEndOf="parent" + android:layout_marginTop="48dp" /> - - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + app:layout_constraintEnd_toEndOf="parent" + android:layout_marginTop="24dp" + android:padding="12dp" + android:background="@android:drawable/edit_text" /> -