Skip to content
Snippets Groups Projects
Commit e0a5308f authored by Filip Stanicak's avatar Filip Stanicak
Browse files

Added Transactions

parent 2aff3037
No related branches found
No related tags found
No related merge requests found
Showing
with 168 additions and 279 deletions
...@@ -2,8 +2,8 @@ package com.example.mobileapp; ...@@ -2,8 +2,8 @@ package com.example.mobileapp;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle; import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
...@@ -16,7 +16,6 @@ import java.util.ArrayList; ...@@ -16,7 +16,6 @@ import java.util.ArrayList;
import de.hdodenhof.circleimageview.CircleImageView; import de.hdodenhof.circleimageview.CircleImageView;
public class Recycler_View_Adapter_Group extends RecyclerView.Adapter<Recycler_View_Adapter_Group.ViewHolder>{ public class Recycler_View_Adapter_Group extends RecyclerView.Adapter<Recycler_View_Adapter_Group.ViewHolder>{
private static final String TAG = "Recycler_View_Adapter_Group";
private ArrayList<String> mTripNames = new ArrayList<>(); private ArrayList<String> mTripNames = new ArrayList<>();
private ArrayList<String> mTripImages = new ArrayList<>(); private ArrayList<String> mTripImages = new ArrayList<>();
...@@ -39,7 +38,6 @@ public class Recycler_View_Adapter_Group extends RecyclerView.Adapter<Recycler_V ...@@ -39,7 +38,6 @@ public class Recycler_View_Adapter_Group extends RecyclerView.Adapter<Recycler_V
@Override @Override
public void onBindViewHolder(final ViewHolder holder, final int position) { public void onBindViewHolder(final ViewHolder holder, final int position) {
Log.d(TAG, "onBindViewHolder: called.");
Glide.with(mContext) Glide.with(mContext)
.asBitmap() .asBitmap()
.load(mTripImages.get(position)) .load(mTripImages.get(position))
...@@ -51,7 +49,6 @@ public class Recycler_View_Adapter_Group extends RecyclerView.Adapter<Recycler_V ...@@ -51,7 +49,6 @@ public class Recycler_View_Adapter_Group extends RecyclerView.Adapter<Recycler_V
holder.tripElement.setOnClickListener(new View.OnClickListener() { holder.tripElement.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
Log.d(TAG, "onClick: clicked on " + mTripNames.get(position));
openTrip(position); openTrip(position);
} }
}); });
...@@ -62,13 +59,11 @@ public class Recycler_View_Adapter_Group extends RecyclerView.Adapter<Recycler_V ...@@ -62,13 +59,11 @@ public class Recycler_View_Adapter_Group extends RecyclerView.Adapter<Recycler_V
Bundle content = new Bundle(); Bundle content = new Bundle();
content.putString("Name", mTripNames.get(position)); content.putString("Name", mTripNames.get(position));
content.putString("Duration", mTripDuration.get(position)); content.putString("Duration", mTripDuration.get(position));
content.putString("Image", mTripImages.get(position));
intent.putExtras(content); intent.putExtras(content);
mContext.startActivity(intent); mContext.startActivity(intent);
} }
private void imageToBit(CircleImageView image) {
}
@Override @Override
public int getItemCount() { 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; package com.example.mobileapp;
import android.graphics.drawable.Drawable;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
...@@ -15,9 +14,6 @@ import de.hdodenhof.circleimageview.CircleImageView; ...@@ -15,9 +14,6 @@ import de.hdodenhof.circleimageview.CircleImageView;
public class Recycler_View_Adapter_User extends RecyclerView.Adapter<Recycler_View_Adapter_User.ViewHolder> { public class Recycler_View_Adapter_User extends RecyclerView.Adapter<Recycler_View_Adapter_User.ViewHolder> {
private ArrayList<String> mUserNames = new ArrayList<>(); private ArrayList<String> mUserNames = new ArrayList<>();
private ArrayList<String> mUserImages = new ArrayList<>(); private ArrayList<String> mUserImages = new ArrayList<>();
private ArrayList<Boolean> mUserAdmin = new ArrayList<>(); private ArrayList<Boolean> mUserAdmin = new ArrayList<>();
......
...@@ -10,8 +10,10 @@ import androidx.viewpager.widget.ViewPager; ...@@ -10,8 +10,10 @@ import androidx.viewpager.widget.ViewPager;
import android.os.Bundle; import android.os.Bundle;
import android.view.View; import android.view.View;
import android.widget.ImageView;
import android.widget.TextView; import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.google.android.material.tabs.TabLayout; import com.google.android.material.tabs.TabLayout;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -20,11 +22,12 @@ import java.util.List; ...@@ -20,11 +22,12 @@ import java.util.List;
public class Single_Trip extends AppCompatActivity { public class Single_Trip extends AppCompatActivity {
private TextView tripName; private TextView tripName;
private ImageView tripImage;
private TextView tripDuration; private TextView tripDuration;
private ViewPager viewPager; private ViewPager viewPager;
private TabLayout tabLayout; private TabLayout tabLayout;
private MemberFragment memberFragement; private MemberFragment memberFragement;
private TransactionFragement transactionFragement; private TransactionFragment transactionFragement;
@Override @Override
...@@ -32,13 +35,14 @@ public class Single_Trip extends AppCompatActivity { ...@@ -32,13 +35,14 @@ public class Single_Trip extends AppCompatActivity {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.single_trip); setContentView(R.layout.single_trip);
tripImage = findViewById(R.id.trip_image);
tripName = findViewById(R.id.trip_name); tripName = findViewById(R.id.trip_name);
tripDuration = findViewById(R.id.trip_duration); tripDuration = findViewById(R.id.trip_duration);
viewPager = findViewById(R.id.tab_view); viewPager = findViewById(R.id.tab_view);
tabLayout = findViewById(R.id.tab_layout); tabLayout = findViewById(R.id.tab_layout);
memberFragement = new MemberFragment(); memberFragement = new MemberFragment();
transactionFragement = new TransactionFragement(); transactionFragement = new TransactionFragment();
tabLayout.setupWithViewPager(viewPager); tabLayout.setupWithViewPager(viewPager);
...@@ -52,9 +56,11 @@ public class Single_Trip extends AppCompatActivity { ...@@ -52,9 +56,11 @@ public class Single_Trip extends AppCompatActivity {
Bundle bundle = getIntent().getExtras(); Bundle bundle = getIntent().getExtras();
String image = bundle.getString("Image").toString();
String duration = bundle.getString("Duration").toString(); String duration = bundle.getString("Duration").toString();
String name = bundle.getString("Name").toString(); String name = bundle.getString("Name").toString();
Glide.with(this).asBitmap().load(image).into(tripImage);
tripName.setText(name); tripName.setText(name);
tripDuration.setText(duration); tripDuration.setText(duration);
} }
......
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("£");
}
}
...@@ -41,7 +41,6 @@ public class Trip_Overview_Screen extends AppCompatActivity { ...@@ -41,7 +41,6 @@ public class Trip_Overview_Screen extends AppCompatActivity {
mTripNames.add("Portugal"); mTripNames.add("Portugal");
mTripDuration.add("21.05 - 28.08"); mTripDuration.add("21.05 - 28.08");
mTripImages.add("https://i.redd.it/j6myfqglup501.jpg"); mTripImages.add("https://i.redd.it/j6myfqglup501.jpg");
mTripNames.add("Max. 25 Zeichen, wegen Space"); mTripNames.add("Max. 25 Zeichen, wegen Space");
mTripDuration.add("21.05 - 28.08"); mTripDuration.add("21.05 - 28.08");
......
Frontend/app/src/main/res/drawable-hdpi/get_symbol.png

179 B

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

161 B

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

159 B

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

115 B

<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path android:pathData="M31,63.928c0,0 6.4,-11 12.1,-13.1c7.2,-2.6 26,-1.4 26,-1.4l38.1,38.1L107,108.928l-32,-1L31,63.928z">
<aapt:attr name="android:fillColor">
<gradient
android:endX="85.84757"
android:endY="92.4963"
android:startX="42.9492"
android:startY="49.59793"
android:type="linear">
<item
android:color="#44000000"
android:offset="0.0" />
<item
android:color="#00000000"
android:offset="1.0" />
</gradient>
</aapt:attr>
</path>
<path
android:fillColor="#FFFFFF"
android:fillType="nonZero"
android:pathData="M65.3,45.828l3.8,-6.6c0.2,-0.4 0.1,-0.9 -0.3,-1.1c-0.4,-0.2 -0.9,-0.1 -1.1,0.3l-3.9,6.7c-6.3,-2.8 -13.4,-2.8 -19.7,0l-3.9,-6.7c-0.2,-0.4 -0.7,-0.5 -1.1,-0.3C38.8,38.328 38.7,38.828 38.9,39.228l3.8,6.6C36.2,49.428 31.7,56.028 31,63.928h46C76.3,56.028 71.8,49.428 65.3,45.828zM43.4,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2c-0.3,-0.7 -0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C45.3,56.528 44.5,57.328 43.4,57.328L43.4,57.328zM64.6,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2s-0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C66.5,56.528 65.6,57.328 64.6,57.328L64.6,57.328z"
android:strokeWidth="1"
android:strokeColor="#00000000" />
</vector>
\ No newline at end of file
Frontend/app/src/main/res/drawable-xhdpi/get_symbol.png

227 B

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

209 B

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

244 B

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

307 B

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

273 B

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

453 B

<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path
android:fillColor="#3DDC84"
android:pathData="M0,0h108v108h-108z" />
<path
android:fillColor="#00000000"
android:pathData="M9,0L9,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,0L19,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M29,0L29,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M39,0L39,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M49,0L49,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M59,0L59,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M69,0L69,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M79,0L79,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M89,0L89,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M99,0L99,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,9L108,9"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,19L108,19"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,29L108,29"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,39L108,39"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,49L108,49"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,59L108,59"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,69L108,69"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,79L108,79"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,89L108,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,99L108,99"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,29L89,29"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,39L89,39"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,49L89,49"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,59L89,59"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,69L89,69"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,79L89,79"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M29,19L29,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M39,19L39,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M49,19L49,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M59,19L59,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M69,19L69,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M79,19L79,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
</vector>
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="#141412" android:background="#141412"
tools:context=".TransactionFragement"> tools:context=".TransactionFragment">
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_transaction_view" android:id="@+id/recycler_transaction_view"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment