From 7cd196e0616983a64e4c0aa098a133ebd1f1e85d Mon Sep 17 00:00:00 2001 From: Slimexsan <Filip.Stanicak@Student.Reutlingen-University.de> Date: Mon, 15 Jun 2020 18:43:57 +0200 Subject: [PATCH] Added some Stuff --- Frontend/app/build.gradle | 1 + Frontend/app/src/main/AndroidManifest.xml | 11 +- .../com/example/mobileapp/MemberFragment.java | 36 ++++- .../mobileapp/New_Transaction_Screen.java | 14 ++ .../mobileapp/Recycler_View_Adapter_User.java | 123 ++++++++++-------- .../res/layout/new_transaction_screen.xml | 20 +++ 6 files changed, 146 insertions(+), 59 deletions(-) create mode 100644 Frontend/app/src/main/java/com/example/mobileapp/New_Transaction_Screen.java create mode 100644 Frontend/app/src/main/res/layout/new_transaction_screen.xml diff --git a/Frontend/app/build.gradle b/Frontend/app/build.gradle index 3188c4e..dfc3163 100644 --- a/Frontend/app/build.gradle +++ b/Frontend/app/build.gradle @@ -33,6 +33,7 @@ dependencies { annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0' implementation 'com.android.volley:volley:1.1.1' implementation 'de.hdodenhof:circleimageview:3.1.0' + implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation 'androidx.appcompat:appcompat:1.1.0' implementation "androidx.recyclerview:recyclerview:1.1.0" implementation "androidx.recyclerview:recyclerview-selection:1.1.0-rc01" diff --git a/Frontend/app/src/main/AndroidManifest.xml b/Frontend/app/src/main/AndroidManifest.xml index 3e6b822..5459420 100644 --- a/Frontend/app/src/main/AndroidManifest.xml +++ b/Frontend/app/src/main/AndroidManifest.xml @@ -12,14 +12,17 @@ android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> - <activity android:name=".Single_Trip" + <activity android:name=".New_Transaction_Screen"></activity> + <activity + android:name=".Single_Trip" android:configChanges="orientation" android:screenOrientation="portrait" - tools:ignore="LockedOrientationActivity"/> - <activity android:name=".Trip_Overview_Screen" + tools:ignore="LockedOrientationActivity" /> + <activity + android:name=".Trip_Overview_Screen" android:configChanges="orientation" android:screenOrientation="portrait" - tools:ignore="LockedOrientationActivity"/> + tools:ignore="LockedOrientationActivity" /> <activity android:name=".New_PW_Screen" android:configChanges="orientation" diff --git a/Frontend/app/src/main/java/com/example/mobileapp/MemberFragment.java b/Frontend/app/src/main/java/com/example/mobileapp/MemberFragment.java index cbfb362..2021c22 100644 --- a/Frontend/app/src/main/java/com/example/mobileapp/MemberFragment.java +++ b/Frontend/app/src/main/java/com/example/mobileapp/MemberFragment.java @@ -14,6 +14,8 @@ import android.view.ViewGroup; import android.widget.Button; import com.google.android.material.dialog.MaterialAlertDialogBuilder; +import com.google.android.material.textfield.TextInputEditText; +import com.google.android.material.textfield.TextInputLayout; import java.util.ArrayList; @@ -48,6 +50,13 @@ public class MemberFragment extends Fragment { recyclerView.setAdapter(adapter); recyclerView.setLayoutManager(new LinearLayoutManager(getActivity())); + rootView.findViewById(R.id.add_member).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + addUserButton(); + } + }); + rootView.findViewById(R.id.leave_trip).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -58,6 +67,32 @@ public class MemberFragment extends Fragment { return rootView; } + public void addUserButton () { + MaterialAlertDialogBuilder addUser = new MaterialAlertDialogBuilder(getActivity()); + final TextInputLayout addUserLayout = new TextInputLayout(getActivity()); + final TextInputEditText addUserText = new TextInputEditText(getActivity()); + + addUser.setTitle("Add user to trip"); + addUser.setMessage("Type in the E-Mail of the user you want to add."); + addUserText.setHint("E-Mail"); + addUserLayout.addView(addUserText); + addUserLayout.setStartIconDrawable(R.drawable.person_icon); + addUser.setView(addUserLayout); + addUser.setPositiveButton("Confirm", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + return; + } + }); + addUser.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + return; + } + }); + addUser.show(); + } + public void leaveTripButton() { MaterialAlertDialogBuilder leaveTrip = new MaterialAlertDialogBuilder(getActivity()); leaveTrip.setTitle("Leave Trip"); @@ -72,7 +107,6 @@ public class MemberFragment extends Fragment { @Override public void onClick(DialogInterface dialog, int which) { //Delete User from Group, so he cant see it anymore - //startActivity(new Intent(getActivity(), Trip_Overview_Screen.class)); getActivity().finish(); } }); diff --git a/Frontend/app/src/main/java/com/example/mobileapp/New_Transaction_Screen.java b/Frontend/app/src/main/java/com/example/mobileapp/New_Transaction_Screen.java new file mode 100644 index 0000000..a2f601f --- /dev/null +++ b/Frontend/app/src/main/java/com/example/mobileapp/New_Transaction_Screen.java @@ -0,0 +1,14 @@ +package com.example.mobileapp; + +import androidx.appcompat.app.AppCompatActivity; + +import android.os.Bundle; + +public class New_Transaction_Screen extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.new_transaction_screen); + } +} diff --git a/Frontend/app/src/main/java/com/example/mobileapp/Recycler_View_Adapter_User.java b/Frontend/app/src/main/java/com/example/mobileapp/Recycler_View_Adapter_User.java index 4840f45..8432c83 100644 --- a/Frontend/app/src/main/java/com/example/mobileapp/Recycler_View_Adapter_User.java +++ b/Frontend/app/src/main/java/com/example/mobileapp/Recycler_View_Adapter_User.java @@ -7,6 +7,7 @@ import android.graphics.drawable.Drawable; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.EditText; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; @@ -16,6 +17,8 @@ import androidx.recyclerview.widget.RecyclerView; import com.bumptech.glide.Glide; import com.google.android.material.dialog.MaterialAlertDialogBuilder; import com.google.android.material.dialog.MaterialDialogs; +import com.google.android.material.textfield.TextInputEditText; +import com.google.android.material.textfield.TextInputLayout; import java.util.ArrayList; import de.hdodenhof.circleimageview.CircleImageView; @@ -57,74 +60,86 @@ public class Recycler_View_Adapter_User extends RecyclerView.Adapter<Recycler_Vi holder.userAdmin.setImageResource(R.drawable.no_admin_crown); } - + //Remove User holder.userName.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - MaterialAlertDialogBuilder deleteUser = new MaterialAlertDialogBuilder(mContext.getActivity()); - deleteUser.setTitle("Remove User"); - deleteUser.setMessage("Are you sure you want to remove " + mUserNames.get(position) + " from this trip? Only an admin can add him back to this trip"); - deleteUser.setPositiveButton("Confirm", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - mContext.getActivity().finish(); - } - }); - deleteUser.setNegativeButton("Decline", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - return; - } - }); - deleteUser.show(); + removeUser(position); } }); - //Set Admin holder.userAdmin.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { + setAdmin(position); + } + }); + } + + + + + + public void setAdmin (int position) { + + MaterialAlertDialogBuilder confirmAdmin = new MaterialAlertDialogBuilder(mContext.getActivity()); + confirmAdmin.setTitle("Admin rights"); - MaterialAlertDialogBuilder confirmAdmin = new MaterialAlertDialogBuilder(mContext.getActivity()); - confirmAdmin.setTitle("Admin rights"); - if (!mUserAdmin.get(position)) { - confirmAdmin.setIcon(R.drawable.no_admin_crown); - confirmAdmin.setMessage("Do you want to give " + mUserNames.get(position) + " Admin rights?"); - confirmAdmin.setPositiveButton("Confirm", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - mUserAdmin.set(position, true); - Recycler_View_Adapter_User.this.notifyItemChanged(position); - } - }); - confirmAdmin.setNegativeButton("Decline", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - return; - } - }); - } else { - confirmAdmin.setIcon(R.drawable.admin_crown); - //Check ob er nicht der letzte Admin ist, wenn ja ist keine Admin entnahme möglich - confirmAdmin.setMessage("Do you want to remove your own Admin rights?"); - confirmAdmin.setPositiveButton("Confirm", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - mUserAdmin.set(position, false); - Recycler_View_Adapter_User.this.notifyItemChanged(position); - } - }); - confirmAdmin.setNegativeButton("Decline", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - return; - } - }); + if (!mUserAdmin.get(position)) { + confirmAdmin.setIcon(R.drawable.no_admin_crown); + confirmAdmin.setMessage("Do you want to give " + mUserNames.get(position) + " Admin rights?"); + confirmAdmin.setPositiveButton("Confirm", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + mUserAdmin.set(position, true); + Recycler_View_Adapter_User.this.notifyItemChanged(position); } - confirmAdmin.show(); + }); + confirmAdmin.setNegativeButton("Decline", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + return; + } + }); + } else { + confirmAdmin.setIcon(R.drawable.admin_crown); + //Check ob er nicht der letzte Admin ist, wenn ja ist keine Admin entnahme möglich + confirmAdmin.setMessage("Do you want to remove your own Admin rights?"); + confirmAdmin.setPositiveButton("Confirm", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + mUserAdmin.set(position, false); + Recycler_View_Adapter_User.this.notifyItemChanged(position); + } + }); + confirmAdmin.setNegativeButton("Decline", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + return; + } + }); + } + confirmAdmin.show(); + } + + public void removeUser (int position) { + MaterialAlertDialogBuilder deleteUser = new MaterialAlertDialogBuilder(mContext.getActivity()); + deleteUser.setTitle("Remove User"); + deleteUser.setMessage("Are you sure you want to remove " + mUserNames.get(position) + " from this trip? Only an admin can add him back to this trip"); + deleteUser.setPositiveButton("Confirm", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + mContext.getActivity().finish(); + } + }); + deleteUser.setNegativeButton("Decline", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + return; } }); + deleteUser.show(); } @Override diff --git a/Frontend/app/src/main/res/layout/new_transaction_screen.xml b/Frontend/app/src/main/res/layout/new_transaction_screen.xml new file mode 100644 index 0000000..9dfe5d4 --- /dev/null +++ b/Frontend/app/src/main/res/layout/new_transaction_screen.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout 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" + android:background="#141412" + tools:context=".New_Transaction_Screen"> + + + <ImageView + android:layout_width="40dp" + android:layout_height="40dp" + android:layout_marginLeft="40dp" + android:layout_marginTop="40dp" + + android:src="@drawable/back_button" + android:clickable="true"/> + +</LinearLayout> \ No newline at end of file -- GitLab