From 6faeaa61e912993b7ea2ae6f6a82b2b5d6ff44c1 Mon Sep 17 00:00:00 2001 From: minhtrannhat Date: Fri, 3 Nov 2023 22:13:06 -0400 Subject: [PATCH] Feat(main activity): Wireframing 2/2 --- .../Views/InsertProfileDialogFragment.java | 40 +++++++++++++ .../Views/MainActivity.java | 26 +++++++-- app/src/main/res/layout/activity_main.xml | 2 +- .../main/res/layout/dialog_profile_create.xml | 56 +++++++++++++++++++ app/src/main/res/values/strings.xml | 6 ++ .../main/res/xml/data_extraction_rules.xml | 4 -- 6 files changed, 125 insertions(+), 9 deletions(-) create mode 100644 app/src/main/java/com/example/coen390_assignment2/Views/InsertProfileDialogFragment.java create mode 100644 app/src/main/res/layout/dialog_profile_create.xml diff --git a/app/src/main/java/com/example/coen390_assignment2/Views/InsertProfileDialogFragment.java b/app/src/main/java/com/example/coen390_assignment2/Views/InsertProfileDialogFragment.java new file mode 100644 index 0000000..338b34e --- /dev/null +++ b/app/src/main/java/com/example/coen390_assignment2/Views/InsertProfileDialogFragment.java @@ -0,0 +1,40 @@ +package com.example.coen390_assignment2.Views; + +import android.app.Dialog; +import android.content.DialogInterface; +import android.os.Bundle; +import android.view.LayoutInflater; + +import androidx.annotation.NonNull; +import androidx.appcompat.app.AlertDialog; +import androidx.fragment.app.DialogFragment; + +import com.example.coen390_assignment2.R; + +public class InsertProfileDialogFragment extends DialogFragment { + + @NonNull + @Override + public Dialog onCreateDialog(Bundle savedInstanceState) { + AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); + // Get the layout inflater. + LayoutInflater inflater = requireActivity().getLayoutInflater(); + + // Inflate and set the layout for the dialog. + // Pass null as the parent view because it's going in the dialog layout. + builder.setView(inflater.inflate(R.layout.dialog_profile_create, null)) + // Add action buttons + .setPositiveButton(R.string.save_text_dialog_fragment, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int id) { + // Sign in the user. + } + }) + .setNegativeButton(R.string.cancel_text_dialog_fragment, new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + InsertProfileDialogFragment.this.getDialog().cancel(); + } + }); + return builder.create(); + } +} diff --git a/app/src/main/java/com/example/coen390_assignment2/Views/MainActivity.java b/app/src/main/java/com/example/coen390_assignment2/Views/MainActivity.java index 84c8a7f..134bddc 100644 --- a/app/src/main/java/com/example/coen390_assignment2/Views/MainActivity.java +++ b/app/src/main/java/com/example/coen390_assignment2/Views/MainActivity.java @@ -1,10 +1,12 @@ package com.example.coen390_assignment2.Views; -import androidx.appcompat.app.AppCompatActivity; -import androidx.appcompat.widget.Toolbar; - import android.os.Bundle; import android.view.Menu; +import android.view.View; +import android.widget.Button; + +import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.widget.Toolbar; import com.example.coen390_assignment2.R; @@ -14,11 +16,16 @@ public class MainActivity extends AppCompatActivity { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); - // Initialize the ActionBar (Toolbar) Toolbar toolbar = findViewById(R.id.toolbar); + Button showDialogButton = findViewById(R.id.add_profile_action_button); + + // Initialize the ActionBar (Toolbar) setSupportActionBar(toolbar); + // TODO replace with actual database info toolbar.setSubtitle("New Subtitle Text !!!!!!!!!!!!!!"); + + initAddProfileActionButton(showDialogButton); } @Override @@ -26,4 +33,15 @@ public class MainActivity extends AppCompatActivity { getMenuInflater().inflate(R.menu.settings_main_activity, menu); return true; } + + protected void initAddProfileActionButton(Button button) { + button.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + // Show the DialogFragment + InsertProfileDialogFragment dialogFragment = new InsertProfileDialogFragment(); + dialogFragment.show(getSupportFragmentManager(), "dialog_fragment_tag"); + } + }); + } } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index a29cd8b..6fcc6f6 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -33,7 +33,7 @@