Skip to content
Snippets Groups Projects
Commit e7d44e00 authored by Bruno Teixeira's avatar Bruno Teixeira
Browse files

Merge branch 'master' of https://github.com/StanicakFilip/Mobile

parents 4f31dfb6 e0a5308f
No related branches found
No related tags found
No related merge requests found
Showing
with 337 additions and 152 deletions
......@@ -8,12 +8,18 @@
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:label="Pecunia"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".Single_Trip"></activity>
<activity android:name=".Trip_Overview_Screen" />
<activity android:name=".Single_Trip"
android:configChanges="orientation"
android:screenOrientation="portrait"
tools:ignore="LockedOrientationActivity"/>
<activity android:name=".Trip_Overview_Screen"
android:configChanges="orientation"
android:screenOrientation="portrait"
tools:ignore="LockedOrientationActivity"/>
<activity
android:name=".New_PW_Screen"
android:configChanges="orientation"
......
Frontend/app/src/main/ic_launcher-playstore.png

10.9 KiB

package com.example.mobileapp;
import android.os.Bundle;
import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
/**
* A simple {@link Fragment} subclass.
* Use the {@link MemberFragement#newInstance} factory method to
* create an instance of this fragment.
*/
public class MemberFragement extends Fragment {
// TODO: Rename parameter arguments, choose names that match
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
private static final String ARG_PARAM1 = "param1";
private static final String ARG_PARAM2 = "param2";
// TODO: Rename and change types of parameters
private String mParam1;
private String mParam2;
public MemberFragement() {
// Required empty public constructor
}
/**
* 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 MemberFragement.
*/
// TODO: Rename and change types and number of parameters
public static MemberFragement newInstance(String param1, String param2) {
MemberFragement fragment = new MemberFragement();
Bundle args = new Bundle();
args.putString(ARG_PARAM1, param1);
args.putString(ARG_PARAM2, param2);
fragment.setArguments(args);
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
mParam1 = getArguments().getString(ARG_PARAM1);
mParam2 = getArguments().getString(ARG_PARAM2);
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_member_fragement, container, false);
}
}
package com.example.mobileapp;
import android.os.Bundle;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import java.util.ArrayList;
public class MemberFragment extends Fragment {
private ArrayList<String> mUserNames = new ArrayList<>();
private ArrayList<String> mUserImages = new ArrayList<>();
private ArrayList<Boolean> mUserAdmin = new ArrayList<>();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
initImageBitmaps();
View rootView = inflater.inflate(R.layout.fragment_member_fragement, container, false);
RecyclerView recyclerView = (RecyclerView) rootView.findViewById(R.id.recycler_user_view) ;
Recycler_View_Adapter_User adapter = new Recycler_View_Adapter_User(this,mUserNames, mUserImages, mUserAdmin);
recyclerView.setAdapter(adapter);
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
return rootView;
}
private void initImageBitmaps() {
mUserImages.add("https://i.redd.it/tpsnoz5bzo501.jpg");
mUserNames.add("Bruno");
mUserAdmin.add(true);
mUserImages.add("https://i.redd.it/qn7f9oqu7o501.jpg");
mUserNames.add("Dennis");
mUserAdmin.add(true);
mUserImages.add("https://i.redd.it/j6myfqglup501.jpg");
mUserNames.add("Filip");
mUserAdmin.add(false);
mUserImages.add("https://i.redd.it/0h2gm1ix6p501.jpg");
mUserNames.add("Jan");
mUserAdmin.add(false);
mUserImages.add("https://i.redd.it/k98uzl68eh501.jpg");
mUserNames.add("Philip");
mUserAdmin.add(false);
mUserImages.add("https://i.redd.it/glin0nwndo501.jpg");
mUserNames.add("Dani");
mUserAdmin.add(false);
}
}
......@@ -3,29 +3,26 @@ package com.example.mobileapp;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
import java.util.ArrayList;
import de.hdodenhof.circleimageview.CircleImageView;
public class Recycler_View_Adapter extends RecyclerView.Adapter<Recycler_View_Adapter.ViewHolder>{
private static final String TAG = "Recycler_View_Adapter";
public class Recycler_View_Adapter_Group extends RecyclerView.Adapter<Recycler_View_Adapter_Group.ViewHolder>{
private ArrayList<String> mTripNames = new ArrayList<>();
private ArrayList<String> mTripImages = new ArrayList<>();
private ArrayList<String> mTripDuration = new ArrayList<>();
private Context mContext;
public Recycler_View_Adapter(ArrayList<String> mTripNames, ArrayList<String> mTripImages, ArrayList<String> mTripDuration, Context mContext) {
public Recycler_View_Adapter_Group(ArrayList<String> mTripNames, ArrayList<String> mTripImages, ArrayList<String> mTripDuration, Context mContext) {
this.mTripNames = mTripNames;
this.mTripImages = mTripImages;
this.mTripDuration = mTripDuration;
......@@ -41,7 +38,6 @@ public class Recycler_View_Adapter extends RecyclerView.Adapter<Recycler_View_Ad
@Override
public void onBindViewHolder(final ViewHolder holder, final int position) {
Log.d(TAG, "onBindViewHolder: called.");
Glide.with(mContext)
.asBitmap()
.load(mTripImages.get(position))
......@@ -53,7 +49,6 @@ public class Recycler_View_Adapter extends RecyclerView.Adapter<Recycler_View_Ad
holder.tripElement.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d(TAG, "onClick: clicked on " + mTripNames.get(position));
openTrip(position);
}
});
......@@ -64,13 +59,11 @@ public class Recycler_View_Adapter extends RecyclerView.Adapter<Recycler_View_Ad
Bundle content = new Bundle();
content.putString("Name", mTripNames.get(position));
content.putString("Duration", mTripDuration.get(position));
content.putString("Image", mTripImages.get(position));
intent.putExtras(content);
mContext.startActivity(intent);
}
private void imageToBit(CircleImageView image) {
}
@Override
public int getItemCount() {
......
package com.example.mobileapp;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import java.util.ArrayList;
class Recycler_View_Adapter_Transaction extends RecyclerView.Adapter<Recycler_View_Adapter_Transaction.ViewHolder> {
private ArrayList<String> mUserNamesOne = new ArrayList<>();
private ArrayList <String> mUserNamesTwo = new ArrayList<>();
private ArrayList <String> mTitles = new ArrayList<>();
private ArrayList <Boolean> mGiveOrGet = new ArrayList<>();
private ArrayList <String> mAmount = new ArrayList<>();
private ArrayList <String> mCurrency = new ArrayList<>();
private TransactionFragment mContext;
public Recycler_View_Adapter_Transaction(TransactionFragment mContext, ArrayList<String> mUserNamesOne, ArrayList<String> mUserNamesTwo, ArrayList<String> mTitles, ArrayList<Boolean> mGiveOrGet, ArrayList<String> mAmount, ArrayList<String> mCurrency) {
this.mUserNamesOne = mUserNamesOne;
this.mUserNamesTwo = mUserNamesTwo;
this.mTitles = mTitles;
this.mGiveOrGet = mGiveOrGet;
this.mAmount = mAmount;
this.mCurrency = mCurrency;
this.mContext = mContext;
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.layout_transaction, parent, false);
ViewHolder holder = new ViewHolder(view);
return holder;
}
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
holder.userName.setText(mUserNamesTwo.get(position));
holder.title.setText(mTitles.get(position));
holder.amount.setText(mAmount.get(position));
holder.currency.setText(mCurrency.get(position));
}
@Override
public int getItemCount() {
return mTitles.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
TextView userName;
TextView title;
TextView amount;
TextView currency;
LinearLayout transactionLayout;
public ViewHolder(@NonNull View itemView) {
super(itemView);
userName = itemView.findViewById(R.id.person_two);
title = itemView.findViewById(R.id.transaction_title);
amount = itemView.findViewById(R.id.transaction_amount);
currency = itemView.findViewById(R.id.transaction_currency);
transactionLayout = itemView.findViewById(R.id.transaction_layout);
}
}
}
package com.example.mobileapp;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
import java.util.ArrayList;
import de.hdodenhof.circleimageview.CircleImageView;
public class Recycler_View_Adapter_User extends RecyclerView.Adapter<Recycler_View_Adapter_User.ViewHolder> {
private ArrayList<String> mUserNames = new ArrayList<>();
private ArrayList<String> mUserImages = new ArrayList<>();
private ArrayList<Boolean> mUserAdmin = new ArrayList<>();
private MemberFragment mContext;
public Recycler_View_Adapter_User(MemberFragment mContext, ArrayList<String> mUserNames, ArrayList<String> mUserImages, ArrayList<Boolean> mUserAdmin) {
this.mUserNames = mUserNames;
this.mUserImages = mUserImages;
this.mUserAdmin = mUserAdmin;
this.mContext = mContext;
}
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.layout_user_group, parent, false);
ViewHolder holder = new ViewHolder(view);
return holder;
}
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, final int position) {
Glide.with(mContext)
.asBitmap()
.load(mUserImages.get(position))
.into(holder.userImage);
holder.userName.setText(mUserNames.get(position));
if (mUserAdmin.get(position)) {
holder.userAdmin.setImageResource(R.drawable.admin_crown);
} else {
holder.userAdmin.setImageResource(R.drawable.no_admin_crown);
}
}
@Override
public int getItemCount() {
return mUserNames.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
CircleImageView userImage;
TextView userName;
LinearLayout userLayout;
ImageView userAdmin;
public ViewHolder(View itemView) {
super(itemView);
userAdmin = itemView.findViewById(R.id.admin_status);
userImage = itemView.findViewById(R.id.user_image);
userName = itemView.findViewById(R.id.user_name);
userLayout = itemView.findViewById(R.id.user_layout);
}
}
}
......@@ -8,13 +8,12 @@ import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentPagerAdapter;
import androidx.viewpager.widget.ViewPager;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import com.google.android.material.badge.BadgeDrawable;
import com.bumptech.glide.Glide;
import com.google.android.material.tabs.TabLayout;
import java.util.ArrayList;
......@@ -23,11 +22,12 @@ import java.util.List;
public class Single_Trip extends AppCompatActivity {
private TextView tripName;
private ImageView tripImage;
private TextView tripDuration;
private ViewPager viewPager;
private TabLayout tabLayout;
private MemberFragement memberFragement;
private TransactionFragement transactionFragement;
private MemberFragment memberFragement;
private TransactionFragment transactionFragement;
@Override
......@@ -35,13 +35,14 @@ public class Single_Trip extends AppCompatActivity {
super.onCreate(savedInstanceState);
setContentView(R.layout.single_trip);
tripImage = findViewById(R.id.trip_image);
tripName = findViewById(R.id.trip_name);
tripDuration = findViewById(R.id.trip_duration);
viewPager = findViewById(R.id.tab_view);
tabLayout = findViewById(R.id.tab_layout);
memberFragement = new MemberFragement();
transactionFragement = new TransactionFragement();
memberFragement = new MemberFragment();
transactionFragement = new TransactionFragment();
tabLayout.setupWithViewPager(viewPager);
......@@ -55,9 +56,11 @@ public class Single_Trip extends AppCompatActivity {
Bundle bundle = getIntent().getExtras();
String image = bundle.getString("Image").toString();
String duration = bundle.getString("Duration").toString();
String name = bundle.getString("Name").toString();
Glide.with(this).asBitmap().load(image).into(tripImage);
tripName.setText(name);
tripDuration.setText(duration);
}
......
......@@ -59,6 +59,7 @@ public class Start_Screen extends AppCompatActivity {
}
}
public void login (View v) {
if (!validateEmail() | !validatePW()) {
return;
......
package com.example.mobileapp;
import android.os.Bundle;
import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
/**
* A simple {@link Fragment} subclass.
* Use the {@link TransactionFragement#newInstance} factory method to
* create an instance of this fragment.
*/
public class TransactionFragement extends Fragment {
// TODO: Rename parameter arguments, choose names that match
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
private static final String ARG_PARAM1 = "param1";
private static final String ARG_PARAM2 = "param2";
// TODO: Rename and change types of parameters
private String mParam1;
private String mParam2;
public TransactionFragement() {
// Required empty public constructor
}
/**
* 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 TransactionFragement.
*/
// TODO: Rename and change types and number of parameters
public static TransactionFragement newInstance(String param1, String param2) {
TransactionFragement fragment = new TransactionFragement();
Bundle args = new Bundle();
args.putString(ARG_PARAM1, param1);
args.putString(ARG_PARAM2, param2);
fragment.setArguments(args);
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
mParam1 = getArguments().getString(ARG_PARAM1);
mParam2 = getArguments().getString(ARG_PARAM2);
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_transaction_fragement, container, false);
}
}
package com.example.mobileapp;
import android.os.Bundle;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import java.util.ArrayList;
public class TransactionFragment extends Fragment {
private static final String TAG = "Debug";
private ArrayList <String> mUserNamesOne = new ArrayList<>();
private ArrayList <String> mUserNamesTwo = new ArrayList<>();
private ArrayList <String> mTitles = new ArrayList<>();
private ArrayList <Boolean> mGiveOrGet = new ArrayList<>();
private ArrayList <String> mAmount = new ArrayList<>();
private ArrayList <String> mCurrency = new ArrayList<>();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
initImageBitmaps();
View rootView = inflater.inflate(R.layout.fragment_transaction_fragement, container, false);
RecyclerView recyclerView = (RecyclerView) rootView.findViewById(R.id.recycler_transaction_view);
Recycler_View_Adapter_Transaction adapter = new Recycler_View_Adapter_Transaction(this,mUserNamesOne,mUserNamesTwo,mTitles,mGiveOrGet,mAmount,mCurrency);
recyclerView.setAdapter(adapter);
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
return rootView;
}
private void initImageBitmaps() {
mUserNamesOne.add("Filip");
mUserNamesTwo.add("Bruno");
mTitles.add("Restaurant");
mGiveOrGet.add(true);
mAmount.add("50.00");
mCurrency.add("€");
mUserNamesOne.add("Dennis");
mUserNamesTwo.add("Jan");
mTitles.add("Themenpark");
mGiveOrGet.add(false);
mAmount.add("120.00");
mCurrency.add("$");
mUserNamesOne.add("Filip");
mUserNamesTwo.add("Jan");
mTitles.add("Einkaufen");
mGiveOrGet.add(false);
mAmount.add("1680.00");
mCurrency.add("¥");
mUserNamesOne.add("Dennis");
mUserNamesTwo.add("Bruno");
mTitles.add("Bar");
mGiveOrGet.add(true);
mAmount.add("20.00");
mCurrency.add("£");
}
}
......@@ -6,8 +6,6 @@ import androidx.recyclerview.widget.RecyclerView;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import java.util.ArrayList;
......@@ -43,7 +41,6 @@ public class Trip_Overview_Screen extends AppCompatActivity {
mTripNames.add("Portugal");
mTripDuration.add("21.05 - 28.08");
mTripImages.add("https://i.redd.it/j6myfqglup501.jpg");
mTripNames.add("Max. 25 Zeichen, wegen Space");
mTripDuration.add("21.05 - 28.08");
......@@ -73,7 +70,7 @@ public class Trip_Overview_Screen extends AppCompatActivity {
private void initRecyclerView() {
RecyclerView recyclerView = findViewById(R.id.recycler_view);
Recycler_View_Adapter adapter = new Recycler_View_Adapter(mTripNames, mTripImages, mTripDuration, this);
Recycler_View_Adapter_Group adapter = new Recycler_View_Adapter_Group(mTripNames, mTripImages, mTripDuration, this);
recyclerView.setAdapter(adapter);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
}
......
Frontend/app/src/main/res/drawable-hdpi/admin_crown.png

650 B

Frontend/app/src/main/res/drawable-hdpi/get_symbol.png

179 B

Frontend/app/src/main/res/drawable-hdpi/no_admin_crown.png

1 KiB

Frontend/app/src/main/res/drawable-hdpi/splitter.png

161 B

Frontend/app/src/main/res/drawable-mdpi/admin_crown.png

454 B

Frontend/app/src/main/res/drawable-mdpi/get_symbol.png

159 B

Frontend/app/src/main/res/drawable-mdpi/no_admin_crown.png

660 B

Frontend/app/src/main/res/drawable-mdpi/splitter.png

115 B

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment