diff --git a/app/src/main/java/com/example/defenseapplication/home/HomeActivity.kt b/app/src/main/java/com/example/defenseapplication/home/HomeActivity.kt new file mode 100644 index 0000000..999f9b3 --- /dev/null +++ b/app/src/main/java/com/example/defenseapplication/home/HomeActivity.kt @@ -0,0 +1,21 @@ +package com.example.defenseapplication.home + +import android.os.Bundle +import androidx.activity.enableEdgeToEdge +import androidx.appcompat.app.AppCompatActivity +import androidx.core.view.ViewCompat +import androidx.core.view.WindowInsetsCompat +import com.example.defenseapplication.R + +class HomeActivity : AppCompatActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + enableEdgeToEdge() + setContentView(R.layout.home_activity) + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets -> + val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()) + v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom) + insets + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/defenseapplication/home/HomeMenuFragment.kt b/app/src/main/java/com/example/defenseapplication/home/HomeMenuFragment.kt new file mode 100644 index 0000000..48df419 --- /dev/null +++ b/app/src/main/java/com/example/defenseapplication/home/HomeMenuFragment.kt @@ -0,0 +1,60 @@ +package com.example.defenseapplication.home + +import android.os.Bundle +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import com.example.defenseapplication.R + +// TODO: Rename parameter arguments, choose names that match +// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER +private const val ARG_PARAM1 = "param1" +private const val ARG_PARAM2 = "param2" + +/** + * A simple [Fragment] subclass. + * Use the [HomeMenuFragment.newInstance] factory method to + * create an instance of this fragment. + */ +class HomeMenuFragment : Fragment() { + // TODO: Rename and change types of parameters + private var param1: String? = null + private var param2: String? = null + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + arguments?.let { + param1 = it.getString(ARG_PARAM1) + param2 = it.getString(ARG_PARAM2) + } + } + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.home_menu_fragment, container, false) + } + + companion object { + /** + * Use this factory method to create a new instance of + * this fragment using the provided parameters. + * + * @param param1 Parameter 1. + * @param param2 Parameter 2. + * @return A new instance of fragment HomeMenuFragment. + */ + // TODO: Rename and change types and number of parameters + @JvmStatic + fun newInstance(param1: String, param2: String) = + HomeMenuFragment().apply { + arguments = Bundle().apply { + putString(ARG_PARAM1, param1) + putString(ARG_PARAM2, param2) + } + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/defenseapplication/home/PersonalFragment.kt b/app/src/main/java/com/example/defenseapplication/home/PersonalFragment.kt new file mode 100644 index 0000000..ff2b8db --- /dev/null +++ b/app/src/main/java/com/example/defenseapplication/home/PersonalFragment.kt @@ -0,0 +1,60 @@ +package com.example.defenseapplication.home + +import android.os.Bundle +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import com.example.defenseapplication.R + +// TODO: Rename parameter arguments, choose names that match +// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER +private const val ARG_PARAM1 = "param1" +private const val ARG_PARAM2 = "param2" + +/** + * A simple [Fragment] subclass. + * Use the [PersonalFragment.newInstance] factory method to + * create an instance of this fragment. + */ +class PersonalFragment : Fragment() { + // TODO: Rename and change types of parameters + private var param1: String? = null + private var param2: String? = null + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + arguments?.let { + param1 = it.getString(ARG_PARAM1) + param2 = it.getString(ARG_PARAM2) + } + } + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.personal_fragment, container, false) + } + + companion object { + /** + * Use this factory method to create a new instance of + * this fragment using the provided parameters. + * + * @param param1 Parameter 1. + * @param param2 Parameter 2. + * @return A new instance of fragment PersonalFragment. + */ + // TODO: Rename and change types and number of parameters + @JvmStatic + fun newInstance(param1: String, param2: String) = + PersonalFragment().apply { + arguments = Bundle().apply { + putString(ARG_PARAM1, param1) + putString(ARG_PARAM2, param2) + } + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/defenseapplication/login/FaceLoginActivity.kt b/app/src/main/java/com/example/defenseapplication/login/FaceLoginActivity.kt new file mode 100644 index 0000000..a407e76 --- /dev/null +++ b/app/src/main/java/com/example/defenseapplication/login/FaceLoginActivity.kt @@ -0,0 +1,21 @@ +package com.example.defenseapplication.login + +import android.os.Bundle +import androidx.activity.enableEdgeToEdge +import androidx.appcompat.app.AppCompatActivity +import androidx.core.view.ViewCompat +import androidx.core.view.WindowInsetsCompat +import com.example.defenseapplication.R + +class FaceLoginActivity : AppCompatActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + enableEdgeToEdge() + setContentView(R.layout.face_login_activity) + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets -> + val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()) + v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom) + insets + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/defenseapplication/login/FaceVerificationActivity.kt b/app/src/main/java/com/example/defenseapplication/login/FaceVerificationActivity.kt new file mode 100644 index 0000000..79bc325 --- /dev/null +++ b/app/src/main/java/com/example/defenseapplication/login/FaceVerificationActivity.kt @@ -0,0 +1,21 @@ +package com.example.defenseapplication.login + +import android.os.Bundle +import androidx.activity.enableEdgeToEdge +import androidx.appcompat.app.AppCompatActivity +import androidx.core.view.ViewCompat +import androidx.core.view.WindowInsetsCompat +import com.example.defenseapplication.R + +class FaceVerificationActivity : AppCompatActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + enableEdgeToEdge() + setContentView(R.layout.face_verification_activity) + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets -> + val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()) + v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom) + insets + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/defenseapplication/login/RegisterSuccessActivity.kt b/app/src/main/java/com/example/defenseapplication/login/RegisterSuccessActivity.kt new file mode 100644 index 0000000..0b04e1d --- /dev/null +++ b/app/src/main/java/com/example/defenseapplication/login/RegisterSuccessActivity.kt @@ -0,0 +1,21 @@ +package com.example.defenseapplication.login + +import android.os.Bundle +import androidx.activity.enableEdgeToEdge +import androidx.appcompat.app.AppCompatActivity +import androidx.core.view.ViewCompat +import androidx.core.view.WindowInsetsCompat +import com.example.defenseapplication.R + +class RegisterSuccessActivity : AppCompatActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + enableEdgeToEdge() + setContentView(R.layout.register_success_activity) + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets -> + val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()) + v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom) + insets + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/defenseapplication/view/FaceAnalyzer.kt b/app/src/main/java/com/example/defenseapplication/view/FaceAnalyzer.kt new file mode 100644 index 0000000..167987b --- /dev/null +++ b/app/src/main/java/com/example/defenseapplication/view/FaceAnalyzer.kt @@ -0,0 +1,4 @@ +package com.example.defenseapplication.view + +class FaceAnalyzer { +} \ No newline at end of file diff --git a/app/src/main/java/com/example/defenseapplication/view/FaceOverlayView.kt b/app/src/main/java/com/example/defenseapplication/view/FaceOverlayView.kt new file mode 100644 index 0000000..8f7c0f9 --- /dev/null +++ b/app/src/main/java/com/example/defenseapplication/view/FaceOverlayView.kt @@ -0,0 +1,2 @@ +package com.example.defenseapplication.view + diff --git a/app/src/main/res/drawable/add.png b/app/src/main/res/drawable/add.png new file mode 100644 index 0000000..e679c1f Binary files /dev/null and b/app/src/main/res/drawable/add.png differ diff --git a/app/src/main/res/drawable/common_icons_miniprogram1.png b/app/src/main/res/drawable/common_icons_miniprogram1.png new file mode 100644 index 0000000..d74ea4d Binary files /dev/null and b/app/src/main/res/drawable/common_icons_miniprogram1.png differ diff --git a/app/src/main/res/drawable/common_icons_miniprogram2.png b/app/src/main/res/drawable/common_icons_miniprogram2.png new file mode 100644 index 0000000..3086877 Binary files /dev/null and b/app/src/main/res/drawable/common_icons_miniprogram2.png differ diff --git a/app/src/main/res/drawable/cropped_shot.png b/app/src/main/res/drawable/cropped_shot.png new file mode 100644 index 0000000..5f1e871 Binary files /dev/null and b/app/src/main/res/drawable/cropped_shot.png differ diff --git a/app/src/main/res/drawable/enter_icon.png b/app/src/main/res/drawable/enter_icon.png new file mode 100644 index 0000000..2ea64c6 Binary files /dev/null and b/app/src/main/res/drawable/enter_icon.png differ diff --git a/app/src/main/res/drawable/face_login_gray_bg.xml b/app/src/main/res/drawable/face_login_gray_bg.xml new file mode 100644 index 0000000..6dbb0ba --- /dev/null +++ b/app/src/main/res/drawable/face_login_gray_bg.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/face_verification.png b/app/src/main/res/drawable/face_verification.png new file mode 100644 index 0000000..c7c9130 Binary files /dev/null and b/app/src/main/res/drawable/face_verification.png differ diff --git a/app/src/main/res/drawable/home.png b/app/src/main/res/drawable/home.png new file mode 100644 index 0000000..b11c1b2 Binary files /dev/null and b/app/src/main/res/drawable/home.png differ diff --git a/app/src/main/res/drawable/home_checked.png b/app/src/main/res/drawable/home_checked.png new file mode 100644 index 0000000..c683560 Binary files /dev/null and b/app/src/main/res/drawable/home_checked.png differ diff --git a/app/src/main/res/drawable/info_icon.png b/app/src/main/res/drawable/info_icon.png new file mode 100644 index 0000000..f575621 Binary files /dev/null and b/app/src/main/res/drawable/info_icon.png differ diff --git a/app/src/main/res/drawable/low_light.png b/app/src/main/res/drawable/low_light.png new file mode 100644 index 0000000..7e8b05a Binary files /dev/null and b/app/src/main/res/drawable/low_light.png differ diff --git a/app/src/main/res/drawable/mask_group.png b/app/src/main/res/drawable/mask_group.png new file mode 100644 index 0000000..316b063 Binary files /dev/null and b/app/src/main/res/drawable/mask_group.png differ diff --git a/app/src/main/res/drawable/message.png b/app/src/main/res/drawable/message.png new file mode 100644 index 0000000..f1f9244 Binary files /dev/null and b/app/src/main/res/drawable/message.png differ diff --git a/app/src/main/res/drawable/profile.png b/app/src/main/res/drawable/profile.png new file mode 100644 index 0000000..1d7b31e Binary files /dev/null and b/app/src/main/res/drawable/profile.png differ diff --git a/app/src/main/res/drawable/profile_checked.png b/app/src/main/res/drawable/profile_checked.png new file mode 100644 index 0000000..f81cf49 Binary files /dev/null and b/app/src/main/res/drawable/profile_checked.png differ diff --git a/app/src/main/res/drawable/safe.png b/app/src/main/res/drawable/safe.png new file mode 100644 index 0000000..6798e46 Binary files /dev/null and b/app/src/main/res/drawable/safe.png differ diff --git a/app/src/main/res/drawable/scan_icon.png b/app/src/main/res/drawable/scan_icon.png new file mode 100644 index 0000000..90fcf7c Binary files /dev/null and b/app/src/main/res/drawable/scan_icon.png differ diff --git a/app/src/main/res/drawable/standard_capture.png b/app/src/main/res/drawable/standard_capture.png new file mode 100644 index 0000000..0f43f3e Binary files /dev/null and b/app/src/main/res/drawable/standard_capture.png differ diff --git a/app/src/main/res/drawable/success.png b/app/src/main/res/drawable/success.png new file mode 100644 index 0000000..3c5aadd Binary files /dev/null and b/app/src/main/res/drawable/success.png differ diff --git a/app/src/main/res/drawable/triangle.png b/app/src/main/res/drawable/triangle.png new file mode 100644 index 0000000..a9e73c0 Binary files /dev/null and b/app/src/main/res/drawable/triangle.png differ diff --git a/app/src/main/res/layout/face_login_activity.xml b/app/src/main/res/layout/face_login_activity.xml new file mode 100644 index 0000000..7ab7322 --- /dev/null +++ b/app/src/main/res/layout/face_login_activity.xml @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/face_verification_activity.xml b/app/src/main/res/layout/face_verification_activity.xml new file mode 100644 index 0000000..b07ec1a --- /dev/null +++ b/app/src/main/res/layout/face_verification_activity.xml @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/home_activity.xml b/app/src/main/res/layout/home_activity.xml new file mode 100644 index 0000000..d27c75c --- /dev/null +++ b/app/src/main/res/layout/home_activity.xml @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/home_menu_fragment.xml b/app/src/main/res/layout/home_menu_fragment.xml new file mode 100644 index 0000000..c494a26 --- /dev/null +++ b/app/src/main/res/layout/home_menu_fragment.xml @@ -0,0 +1,14 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/personal_fragment.xml b/app/src/main/res/layout/personal_fragment.xml new file mode 100644 index 0000000..e6b85bd --- /dev/null +++ b/app/src/main/res/layout/personal_fragment.xml @@ -0,0 +1,14 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/register_success_activity.xml b/app/src/main/res/layout/register_success_activity.xml new file mode 100644 index 0000000..99e8bb8 --- /dev/null +++ b/app/src/main/res/layout/register_success_activity.xml @@ -0,0 +1,10 @@ + + + + \ No newline at end of file