feat: UI improvements and bug fixes
- Migrated user management to a 3-step stepper - Redesigned Reports screen with side-by-side charts and KPIs - Fixed timezone date formatting in Dashboard Activity logs - Implemented custom native Android splash screen and removed flutter_native_splash
This commit is contained in:
1 parent
965a3eadb5
commit
47b1821b78
16 files changed
+1396
-129
No files matched your search
@@ -13,6 +13,17 @@
|
||||
android:name="${applicationName}"
|
||||
android:icon="@mipmap/ic_launcher">
|
||||
|
||||
<activity
|
||||
android:name=".SplashActivity"
|
||||
android:exported="true"
|
||||
android:theme="@style/SplashTheme"
|
||||
android:screenOrientation="portrait">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
||||
</intent-filter>
|
||||
</activity>
|
||||
|
||||
<activity
|
||||
android:name=".MainActivity"
|
||||
android:exported="true"
|
||||
@@ -30,10 +41,6 @@
|
||||
android:name="io.flutter.embedding.android.NormalTheme"
|
||||
android:resource="@style/NormalTheme"
|
||||
/>
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<!-- Don't delete the meta-data below.
|
||||
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
package com.teamsb.tis_rms
|
||||
|
||||
import android.animation.ObjectAnimator
|
||||
import android.animation.PropertyValuesHolder
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import android.os.Handler
|
||||
import android.os.Looper
|
||||
import android.view.animation.AccelerateDecelerateInterpolator
|
||||
import android.widget.ImageView
|
||||
import android.app.Activity
|
||||
|
||||
class SplashActivity : Activity() {
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
setContentView(R.layout.activity_splash)
|
||||
|
||||
val logoImageView = findViewById<ImageView>(R.id.splash_logo)
|
||||
|
||||
// Create a pulsing scale animation
|
||||
val scaleDown = ObjectAnimator.ofPropertyValuesHolder(
|
||||
logoImageView,
|
||||
PropertyValuesHolder.ofFloat("scaleX", 0.95f),
|
||||
PropertyValuesHolder.ofFloat("scaleY", 0.95f)
|
||||
)
|
||||
scaleDown.duration = 400
|
||||
scaleDown.repeatCount = 1
|
||||
scaleDown.repeatMode = ObjectAnimator.REVERSE
|
||||
scaleDown.interpolator = AccelerateDecelerateInterpolator()
|
||||
|
||||
val scaleUp = ObjectAnimator.ofPropertyValuesHolder(
|
||||
logoImageView,
|
||||
PropertyValuesHolder.ofFloat("scaleX", 1.05f),
|
||||
PropertyValuesHolder.ofFloat("scaleY", 1.05f)
|
||||
)
|
||||
scaleUp.duration = 400
|
||||
scaleUp.repeatCount = 1
|
||||
scaleUp.repeatMode = ObjectAnimator.REVERSE
|
||||
scaleUp.interpolator = AccelerateDecelerateInterpolator()
|
||||
scaleUp.startDelay = 800
|
||||
|
||||
scaleDown.start()
|
||||
scaleUp.start()
|
||||
|
||||
// Proceed to MainActivity after animation finishes
|
||||
Handler(Looper.getMainLooper()).postDelayed({
|
||||
startActivity(Intent(this, MainActivity::class.java))
|
||||
finish()
|
||||
// Disable transition animation to make handoff smoother
|
||||
overridePendingTransition(0, 0)
|
||||
}, 1800)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="#F9F9F9">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/splash_logo"
|
||||
android:layout_width="150dp"
|
||||
android:layout_height="150dp"
|
||||
android:layout_centerInParent="true"
|
||||
android:src="@drawable/splash" />
|
||||
|
||||
</RelativeLayout>
|
||||
@@ -16,6 +16,13 @@
|
||||
running.
|
||||
|
||||
This Theme is only used starting with V2 of Flutter's Android embedding. -->
|
||||
<style name="SplashTheme" parent="@android:style/Theme.Light.NoTitleBar">
|
||||
<item name="android:forceDarkAllowed">false</item>
|
||||
<item name="android:windowSplashScreenBackground">#F9F9F9</item>
|
||||
<item name="android:windowSplashScreenAnimatedIcon">@drawable/android12splash</item>
|
||||
<item name="android:windowSplashScreenIconBackgroundColor">#F9F9F9</item>
|
||||
</style>
|
||||
|
||||
<style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar">
|
||||
<item name="android:windowBackground">?android:colorBackground</item>
|
||||
</style>
|
||||
|
||||
@@ -16,6 +16,11 @@
|
||||
running.
|
||||
|
||||
This Theme is only used starting with V2 of Flutter's Android embedding. -->
|
||||
<style name="SplashTheme" parent="@android:style/Theme.Light.NoTitleBar">
|
||||
<item name="android:windowBackground">#F9F9F9</item>
|
||||
<item name="android:forceDarkAllowed">false</item>
|
||||
</style>
|
||||
|
||||
<style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar">
|
||||
<item name="android:windowBackground">?android:colorBackground</item>
|
||||
</style>
|
||||
|
||||
@@ -16,6 +16,13 @@
|
||||
running.
|
||||
|
||||
This Theme is only used starting with V2 of Flutter's Android embedding. -->
|
||||
<style name="SplashTheme" parent="@android:style/Theme.Light.NoTitleBar">
|
||||
<item name="android:forceDarkAllowed">false</item>
|
||||
<item name="android:windowSplashScreenBackground">#F9F9F9</item>
|
||||
<item name="android:windowSplashScreenAnimatedIcon">@drawable/android12splash</item>
|
||||
<item name="android:windowSplashScreenIconBackgroundColor">#F9F9F9</item>
|
||||
</style>
|
||||
|
||||
<style name="NormalTheme" parent="@android:style/Theme.Light.NoTitleBar">
|
||||
<item name="android:windowBackground">?android:colorBackground</item>
|
||||
</style>
|
||||
|
||||
@@ -16,6 +16,11 @@
|
||||
running.
|
||||
|
||||
This Theme is only used starting with V2 of Flutter's Android embedding. -->
|
||||
<style name="SplashTheme" parent="@android:style/Theme.Light.NoTitleBar">
|
||||
<item name="android:windowBackground">#F9F9F9</item>
|
||||
<item name="android:forceDarkAllowed">false</item>
|
||||
</style>
|
||||
|
||||
<style name="NormalTheme" parent="@android:style/Theme.Light.NoTitleBar">
|
||||
<item name="android:windowBackground">?android:colorBackground</item>
|
||||
</style>
|
||||
|
||||
Reference in new issue
Block a user