From e809147edea8484a9ab5247fe0b9a572b221faee Mon Sep 17 00:00:00 2001
From: Surya <10023509@std.stei.itb.ac.id>
Date: Sun, 31 Mar 2024 17:29:07 +0700
Subject: [PATCH] feat: add splashscreen

---
 app/src/main/AndroidManifest.xml              | 29 ++++---
 .../ui/screen/splashscreen/SplashScreen.kt    | 12 +++
 .../res/layout/activity_splash_screen.xml     | 80 +++++++++++++++++++
 3 files changed, 110 insertions(+), 11 deletions(-)
 create mode 100644 app/src/main/java/com/example/transactionapp/ui/screen/splashscreen/SplashScreen.kt
 create mode 100644 app/src/main/res/layout/activity_splash_screen.xml

diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 78a1a21..7c3a671 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -7,29 +7,36 @@
     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
-    <uses-permission android:name="android.permission.BLUETOOTH_CONNECT"/>
+    <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
+
     <uses-feature android:name="android.hardware.camera.any" />
+
     <uses-permission android:name="android.permission.CAMERA" />
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
-    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
-    <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"
+    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
+    <uses-permission
+        android:name="android.permission.MANAGE_EXTERNAL_STORAGE"
         tools:ignore="ScopedStorage" />
 
-
     <application
+        android:name=".TransactionApp"
         android:allowBackup="true"
-        android:requestLegacyExternalStorage="true"
         android:dataExtractionRules="@xml/data_extraction_rules"
         android:fullBackupContent="@xml/backup_rules"
         android:icon="@mipmap/ic_launcher"
         android:label="@string/app_name"
-        android:name=".TransactionApp"
+        android:requestLegacyExternalStorage="true"
         android:roundIcon="@mipmap/ic_launcher_round"
         android:supportsRtl="true"
         android:theme="@style/Theme.TransactionApp"
         tools:targetApi="31">
-        <service android:name=".service.ConnectionStatusService"/>
-        <service android:name=".service.TokenService"/>
+        <activity
+            android:name=".ui.screen.splashscreen.SplashScreen"
+            android:exported="false" />
+
+        <service android:name=".service.ConnectionStatusService" />
+        <service android:name=".service.TokenService" />
+
         <provider
             android:name="androidx.core.content.FileProvider"
             android:authorities="com.example.transactionapp.provider"
@@ -37,8 +44,9 @@
             android:grantUriPermissions="true">
             <meta-data
                 android:name="android.support.FILE_PROVIDER_PATHS"
-                android:resource="@xml/file_paths"/>
+                android:resource="@xml/file_paths" />
         </provider>
+
         <activity
             android:name=".ui.screen.mainmenu.MainActivity"
             android:exported="true">
@@ -48,8 +56,7 @@
                 <category android:name="android.intent.category.LAUNCHER" />
             </intent-filter>
         </activity>
-
-        <activity android:name=".ui.screen.login.LoginActivity"/>
+        <activity android:name=".ui.screen.login.LoginActivity" />
     </application>
 
 </manifest>
\ No newline at end of file
diff --git a/app/src/main/java/com/example/transactionapp/ui/screen/splashscreen/SplashScreen.kt b/app/src/main/java/com/example/transactionapp/ui/screen/splashscreen/SplashScreen.kt
new file mode 100644
index 0000000..1bdc98e
--- /dev/null
+++ b/app/src/main/java/com/example/transactionapp/ui/screen/splashscreen/SplashScreen.kt
@@ -0,0 +1,12 @@
+package com.example.transactionapp.ui.screen.splashscreen
+
+import androidx.appcompat.app.AppCompatActivity
+import android.os.Bundle
+import com.example.transactionapp.R
+
+class SplashScreen : AppCompatActivity() {
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        setContentView(R.layout.activity_splash_screen)
+    }
+}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_splash_screen.xml b/app/src/main/res/layout/activity_splash_screen.xml
new file mode 100644
index 0000000..4aa34d0
--- /dev/null
+++ b/app/src/main/res/layout/activity_splash_screen.xml
@@ -0,0 +1,80 @@
+<?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:layout_width="match_parent"
+    android:layout_height="match_parent"
+    tools:context=".ui.screen.splashscreen.SplashScreen">
+
+    <com.google.android.material.imageview.ShapeableImageView
+        android:id="@+id/logoSplashScreen"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent"
+        android:src="@drawable/bondoman_dark_logo"
+        android:tint="?attr/colorSecondary"/>
+
+    <LinearLayout
+        android:id="@+id/linearLayout"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="10dp"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/logoSplashScreen">
+
+        <TextView
+            android:id="@+id/textViewBondo"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:fontFamily="@font/playfairdisplay_extrabold"
+            android:text="Bondo"
+            android:textColor="@color/N1"
+            android:textSize="35sp" />
+
+        <TextView
+            android:id="@+id/textViewMan"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:fontFamily="@font/playfairdisplay_regular"
+            android:text="Man"
+            android:textColor="@color/G7"
+            android:textSize="35sp" />
+    </LinearLayout>
+
+    <LinearLayout
+        android:id="@+id/linearLayout2"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:orientation="vertical"
+        android:gravity="center_horizontal"
+        android:layout_marginBottom="10dp"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent">
+
+        <TextView
+            android:id="@+id/textViewVersion"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:fontFamily="@font/poppins_regular"
+            android:text="Ver 1.0.0"
+            android:textColor="?attr/colorSecondaryVariant"
+            android:textSize="16sp" />
+
+        <TextView
+            android:id="@+id/textViewDevlop"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:fontFamily="@font/poppins_regular"
+            android:text="Developed by DGR"
+            android:textColor="?attr/colorSecondaryVariant"
+            android:textSize="15sp" />
+    </LinearLayout>
+
+
+
+</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
-- 
GitLab