From 4e5eea1d9fb7967a4d1356fe0459970ac0c1f79f Mon Sep 17 00:00:00 2001 From: sebas Date: Tue, 8 Dec 2020 11:02:00 +0100 Subject: [PATCH 001/224] [Added] Created all fragments --- app/build.gradle | 1 + .../com/a1/nextlocation/CouponFragment.java | 24 ++++++++++++++++++ .../com/a1/nextlocation/HomeFragment.java | 25 +++++++++++++++++++ .../nextlocation/LocationDetailFragment.java | 25 +++++++++++++++++++ .../com/a1/nextlocation/LocationFragment.java | 25 +++++++++++++++++++ .../a1/nextlocation/RouteDetailFragment.java | 25 +++++++++++++++++++ .../com/a1/nextlocation/RouteFragment.java | 25 +++++++++++++++++++ .../com/a1/nextlocation/SettingsFragment.java | 25 +++++++++++++++++++ .../a1/nextlocation/StatisticFragment.java | 25 +++++++++++++++++++ app/src/main/res/layout/fragment_coupon.xml | 14 +++++++++++ app/src/main/res/layout/fragment_home.xml | 14 +++++++++++ app/src/main/res/layout/fragment_location.xml | 14 +++++++++++ .../res/layout/fragment_location_detail.xml | 14 +++++++++++ app/src/main/res/layout/fragment_route.xml | 14 +++++++++++ .../main/res/layout/fragment_route_detail.xml | 14 +++++++++++ app/src/main/res/layout/fragment_settings.xml | 14 +++++++++++ .../main/res/layout/fragment_statistic.xml | 14 +++++++++++ app/src/main/res/values/strings.xml | 2 ++ 18 files changed, 314 insertions(+) create mode 100644 app/src/main/java/com/a1/nextlocation/CouponFragment.java create mode 100644 app/src/main/java/com/a1/nextlocation/HomeFragment.java create mode 100644 app/src/main/java/com/a1/nextlocation/LocationDetailFragment.java create mode 100644 app/src/main/java/com/a1/nextlocation/LocationFragment.java create mode 100644 app/src/main/java/com/a1/nextlocation/RouteDetailFragment.java create mode 100644 app/src/main/java/com/a1/nextlocation/RouteFragment.java create mode 100644 app/src/main/java/com/a1/nextlocation/SettingsFragment.java create mode 100644 app/src/main/java/com/a1/nextlocation/StatisticFragment.java create mode 100644 app/src/main/res/layout/fragment_coupon.xml create mode 100644 app/src/main/res/layout/fragment_home.xml create mode 100644 app/src/main/res/layout/fragment_location.xml create mode 100644 app/src/main/res/layout/fragment_location_detail.xml create mode 100644 app/src/main/res/layout/fragment_route.xml create mode 100644 app/src/main/res/layout/fragment_route_detail.xml create mode 100644 app/src/main/res/layout/fragment_settings.xml create mode 100644 app/src/main/res/layout/fragment_statistic.xml diff --git a/app/build.gradle b/app/build.gradle index 9643519..a452ddc 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -33,6 +33,7 @@ dependencies { implementation 'androidx.appcompat:appcompat:1.2.0' implementation 'com.google.android.material:material:1.2.1' implementation 'androidx.constraintlayout:constraintlayout:2.0.4' + implementation 'androidx.legacy:legacy-support-v4:1.0.0' testImplementation 'junit:junit:4.13.1' // okhttp diff --git a/app/src/main/java/com/a1/nextlocation/CouponFragment.java b/app/src/main/java/com/a1/nextlocation/CouponFragment.java new file mode 100644 index 0000000..b215276 --- /dev/null +++ b/app/src/main/java/com/a1/nextlocation/CouponFragment.java @@ -0,0 +1,24 @@ +package com.a1.nextlocation; + +import android.os.Bundle; + +import androidx.fragment.app.Fragment; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +public class CouponFragment extends Fragment { + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_coupon, container, false); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/a1/nextlocation/HomeFragment.java b/app/src/main/java/com/a1/nextlocation/HomeFragment.java new file mode 100644 index 0000000..c61d6fe --- /dev/null +++ b/app/src/main/java/com/a1/nextlocation/HomeFragment.java @@ -0,0 +1,25 @@ +package com.a1.nextlocation; + +import android.os.Bundle; + +import androidx.fragment.app.Fragment; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +public class HomeFragment extends Fragment { + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_home, container, false); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/a1/nextlocation/LocationDetailFragment.java b/app/src/main/java/com/a1/nextlocation/LocationDetailFragment.java new file mode 100644 index 0000000..9647aeb --- /dev/null +++ b/app/src/main/java/com/a1/nextlocation/LocationDetailFragment.java @@ -0,0 +1,25 @@ +package com.a1.nextlocation; + +import android.os.Bundle; + +import androidx.fragment.app.Fragment; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +public class LocationDetailFragment extends Fragment { + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_location_detail, container, false); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/a1/nextlocation/LocationFragment.java b/app/src/main/java/com/a1/nextlocation/LocationFragment.java new file mode 100644 index 0000000..6f7f836 --- /dev/null +++ b/app/src/main/java/com/a1/nextlocation/LocationFragment.java @@ -0,0 +1,25 @@ +package com.a1.nextlocation; + +import android.os.Bundle; + +import androidx.fragment.app.Fragment; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +public class LocationFragment extends Fragment { + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_location, container, false); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/a1/nextlocation/RouteDetailFragment.java b/app/src/main/java/com/a1/nextlocation/RouteDetailFragment.java new file mode 100644 index 0000000..6929de9 --- /dev/null +++ b/app/src/main/java/com/a1/nextlocation/RouteDetailFragment.java @@ -0,0 +1,25 @@ +package com.a1.nextlocation; + +import android.os.Bundle; + +import androidx.fragment.app.Fragment; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +public class RouteDetailFragment extends Fragment { + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_route_detail, container, false); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/a1/nextlocation/RouteFragment.java b/app/src/main/java/com/a1/nextlocation/RouteFragment.java new file mode 100644 index 0000000..f86a3f8 --- /dev/null +++ b/app/src/main/java/com/a1/nextlocation/RouteFragment.java @@ -0,0 +1,25 @@ +package com.a1.nextlocation; + +import android.os.Bundle; + +import androidx.fragment.app.Fragment; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +public class RouteFragment extends Fragment { + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_route, container, false); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/a1/nextlocation/SettingsFragment.java b/app/src/main/java/com/a1/nextlocation/SettingsFragment.java new file mode 100644 index 0000000..d1246b2 --- /dev/null +++ b/app/src/main/java/com/a1/nextlocation/SettingsFragment.java @@ -0,0 +1,25 @@ +package com.a1.nextlocation; + +import android.os.Bundle; + +import androidx.fragment.app.Fragment; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +public class SettingsFragment extends Fragment { + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_settings, container, false); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/a1/nextlocation/StatisticFragment.java b/app/src/main/java/com/a1/nextlocation/StatisticFragment.java new file mode 100644 index 0000000..b443d15 --- /dev/null +++ b/app/src/main/java/com/a1/nextlocation/StatisticFragment.java @@ -0,0 +1,25 @@ +package com.a1.nextlocation; + +import android.os.Bundle; + +import androidx.fragment.app.Fragment; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +public class StatisticFragment extends Fragment { + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_statistic, container, false); + } +} \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_coupon.xml b/app/src/main/res/layout/fragment_coupon.xml new file mode 100644 index 0000000..506e204 --- /dev/null +++ b/app/src/main/res/layout/fragment_coupon.xml @@ -0,0 +1,14 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml new file mode 100644 index 0000000..27a4d2c --- /dev/null +++ b/app/src/main/res/layout/fragment_home.xml @@ -0,0 +1,14 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_location.xml b/app/src/main/res/layout/fragment_location.xml new file mode 100644 index 0000000..787d27b --- /dev/null +++ b/app/src/main/res/layout/fragment_location.xml @@ -0,0 +1,14 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_location_detail.xml b/app/src/main/res/layout/fragment_location_detail.xml new file mode 100644 index 0000000..4a42c2d --- /dev/null +++ b/app/src/main/res/layout/fragment_location_detail.xml @@ -0,0 +1,14 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_route.xml b/app/src/main/res/layout/fragment_route.xml new file mode 100644 index 0000000..3fe4c13 --- /dev/null +++ b/app/src/main/res/layout/fragment_route.xml @@ -0,0 +1,14 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_route_detail.xml b/app/src/main/res/layout/fragment_route_detail.xml new file mode 100644 index 0000000..f1ee0d0 --- /dev/null +++ b/app/src/main/res/layout/fragment_route_detail.xml @@ -0,0 +1,14 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_settings.xml b/app/src/main/res/layout/fragment_settings.xml new file mode 100644 index 0000000..647f96b --- /dev/null +++ b/app/src/main/res/layout/fragment_settings.xml @@ -0,0 +1,14 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_statistic.xml b/app/src/main/res/layout/fragment_statistic.xml new file mode 100644 index 0000000..76f4b5f --- /dev/null +++ b/app/src/main/res/layout/fragment_statistic.xml @@ -0,0 +1,14 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 3761406..51a1649 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,3 +1,5 @@ Next Location + + Hello blank fragment \ No newline at end of file -- 2.47.2 From 3b6faf06720b05fff92f06c8f3b9a0724445c97d Mon Sep 17 00:00:00 2001 From: Sem van der Hoeven Date: Mon, 14 Dec 2020 10:42:33 +0100 Subject: [PATCH 002/224] [ADD] packages and rafactored ui classes --- app/src/main/AndroidManifest.xml | 2 +- .../com/a1/nextlocation/{ => fragments}/CouponFragment.java | 4 +++- .../com/a1/nextlocation/{ => fragments}/HomeFragment.java | 4 +++- .../nextlocation/{ => fragments}/LocationDetailFragment.java | 4 +++- .../com/a1/nextlocation/{ => fragments}/LocationFragment.java | 4 +++- .../com/a1/nextlocation/{ => fragments}/MainActivity.java | 4 +++- .../a1/nextlocation/{ => fragments}/RouteDetailFragment.java | 4 +++- .../com/a1/nextlocation/{ => fragments}/RouteFragment.java | 4 +++- .../com/a1/nextlocation/{ => fragments}/SettingsFragment.java | 4 +++- .../a1/nextlocation/{ => fragments}/StatisticFragment.java | 4 +++- app/src/main/res/layout/activity_main.xml | 2 +- app/src/main/res/layout/fragment_coupon.xml | 2 +- app/src/main/res/layout/fragment_home.xml | 2 +- app/src/main/res/layout/fragment_location.xml | 2 +- app/src/main/res/layout/fragment_location_detail.xml | 2 +- app/src/main/res/layout/fragment_route.xml | 2 +- app/src/main/res/layout/fragment_route_detail.xml | 2 +- app/src/main/res/layout/fragment_settings.xml | 2 +- app/src/main/res/layout/fragment_statistic.xml | 2 +- 19 files changed, 37 insertions(+), 19 deletions(-) rename app/src/main/java/com/a1/nextlocation/{ => fragments}/CouponFragment.java (89%) rename app/src/main/java/com/a1/nextlocation/{ => fragments}/HomeFragment.java (89%) rename app/src/main/java/com/a1/nextlocation/{ => fragments}/LocationDetailFragment.java (89%) rename app/src/main/java/com/a1/nextlocation/{ => fragments}/LocationFragment.java (89%) rename app/src/main/java/com/a1/nextlocation/{ => fragments}/MainActivity.java (86%) rename app/src/main/java/com/a1/nextlocation/{ => fragments}/RouteDetailFragment.java (89%) rename app/src/main/java/com/a1/nextlocation/{ => fragments}/RouteFragment.java (89%) rename app/src/main/java/com/a1/nextlocation/{ => fragments}/SettingsFragment.java (89%) rename app/src/main/java/com/a1/nextlocation/{ => fragments}/StatisticFragment.java (89%) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 465afef..d9fe9db 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -12,7 +12,7 @@ android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.NextLocation"> - + diff --git a/app/src/main/java/com/a1/nextlocation/CouponFragment.java b/app/src/main/java/com/a1/nextlocation/fragments/CouponFragment.java similarity index 89% rename from app/src/main/java/com/a1/nextlocation/CouponFragment.java rename to app/src/main/java/com/a1/nextlocation/fragments/CouponFragment.java index b215276..22302bb 100644 --- a/app/src/main/java/com/a1/nextlocation/CouponFragment.java +++ b/app/src/main/java/com/a1/nextlocation/fragments/CouponFragment.java @@ -1,4 +1,4 @@ -package com.a1.nextlocation; +package com.a1.nextlocation.fragments; import android.os.Bundle; @@ -8,6 +8,8 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import com.a1.nextlocation.R; + public class CouponFragment extends Fragment { @Override diff --git a/app/src/main/java/com/a1/nextlocation/HomeFragment.java b/app/src/main/java/com/a1/nextlocation/fragments/HomeFragment.java similarity index 89% rename from app/src/main/java/com/a1/nextlocation/HomeFragment.java rename to app/src/main/java/com/a1/nextlocation/fragments/HomeFragment.java index c61d6fe..7610b2a 100644 --- a/app/src/main/java/com/a1/nextlocation/HomeFragment.java +++ b/app/src/main/java/com/a1/nextlocation/fragments/HomeFragment.java @@ -1,4 +1,4 @@ -package com.a1.nextlocation; +package com.a1.nextlocation.fragments; import android.os.Bundle; @@ -8,6 +8,8 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import com.a1.nextlocation.R; + public class HomeFragment extends Fragment { @Override diff --git a/app/src/main/java/com/a1/nextlocation/LocationDetailFragment.java b/app/src/main/java/com/a1/nextlocation/fragments/LocationDetailFragment.java similarity index 89% rename from app/src/main/java/com/a1/nextlocation/LocationDetailFragment.java rename to app/src/main/java/com/a1/nextlocation/fragments/LocationDetailFragment.java index 9647aeb..ea2fae9 100644 --- a/app/src/main/java/com/a1/nextlocation/LocationDetailFragment.java +++ b/app/src/main/java/com/a1/nextlocation/fragments/LocationDetailFragment.java @@ -1,4 +1,4 @@ -package com.a1.nextlocation; +package com.a1.nextlocation.fragments; import android.os.Bundle; @@ -8,6 +8,8 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import com.a1.nextlocation.R; + public class LocationDetailFragment extends Fragment { @Override diff --git a/app/src/main/java/com/a1/nextlocation/LocationFragment.java b/app/src/main/java/com/a1/nextlocation/fragments/LocationFragment.java similarity index 89% rename from app/src/main/java/com/a1/nextlocation/LocationFragment.java rename to app/src/main/java/com/a1/nextlocation/fragments/LocationFragment.java index 6f7f836..133665f 100644 --- a/app/src/main/java/com/a1/nextlocation/LocationFragment.java +++ b/app/src/main/java/com/a1/nextlocation/fragments/LocationFragment.java @@ -1,4 +1,4 @@ -package com.a1.nextlocation; +package com.a1.nextlocation.fragments; import android.os.Bundle; @@ -8,6 +8,8 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import com.a1.nextlocation.R; + public class LocationFragment extends Fragment { @Override diff --git a/app/src/main/java/com/a1/nextlocation/MainActivity.java b/app/src/main/java/com/a1/nextlocation/fragments/MainActivity.java similarity index 86% rename from app/src/main/java/com/a1/nextlocation/MainActivity.java rename to app/src/main/java/com/a1/nextlocation/fragments/MainActivity.java index 8e1cba5..434c91c 100644 --- a/app/src/main/java/com/a1/nextlocation/MainActivity.java +++ b/app/src/main/java/com/a1/nextlocation/fragments/MainActivity.java @@ -1,9 +1,11 @@ -package com.a1.nextlocation; +package com.a1.nextlocation.fragments; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; +import com.a1.nextlocation.R; + public class MainActivity extends AppCompatActivity { /** diff --git a/app/src/main/java/com/a1/nextlocation/RouteDetailFragment.java b/app/src/main/java/com/a1/nextlocation/fragments/RouteDetailFragment.java similarity index 89% rename from app/src/main/java/com/a1/nextlocation/RouteDetailFragment.java rename to app/src/main/java/com/a1/nextlocation/fragments/RouteDetailFragment.java index 6929de9..c610d6a 100644 --- a/app/src/main/java/com/a1/nextlocation/RouteDetailFragment.java +++ b/app/src/main/java/com/a1/nextlocation/fragments/RouteDetailFragment.java @@ -1,4 +1,4 @@ -package com.a1.nextlocation; +package com.a1.nextlocation.fragments; import android.os.Bundle; @@ -8,6 +8,8 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import com.a1.nextlocation.R; + public class RouteDetailFragment extends Fragment { @Override diff --git a/app/src/main/java/com/a1/nextlocation/RouteFragment.java b/app/src/main/java/com/a1/nextlocation/fragments/RouteFragment.java similarity index 89% rename from app/src/main/java/com/a1/nextlocation/RouteFragment.java rename to app/src/main/java/com/a1/nextlocation/fragments/RouteFragment.java index f86a3f8..59043de 100644 --- a/app/src/main/java/com/a1/nextlocation/RouteFragment.java +++ b/app/src/main/java/com/a1/nextlocation/fragments/RouteFragment.java @@ -1,4 +1,4 @@ -package com.a1.nextlocation; +package com.a1.nextlocation.fragments; import android.os.Bundle; @@ -8,6 +8,8 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import com.a1.nextlocation.R; + public class RouteFragment extends Fragment { @Override diff --git a/app/src/main/java/com/a1/nextlocation/SettingsFragment.java b/app/src/main/java/com/a1/nextlocation/fragments/SettingsFragment.java similarity index 89% rename from app/src/main/java/com/a1/nextlocation/SettingsFragment.java rename to app/src/main/java/com/a1/nextlocation/fragments/SettingsFragment.java index d1246b2..92fa105 100644 --- a/app/src/main/java/com/a1/nextlocation/SettingsFragment.java +++ b/app/src/main/java/com/a1/nextlocation/fragments/SettingsFragment.java @@ -1,4 +1,4 @@ -package com.a1.nextlocation; +package com.a1.nextlocation.fragments; import android.os.Bundle; @@ -8,6 +8,8 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import com.a1.nextlocation.R; + public class SettingsFragment extends Fragment { @Override diff --git a/app/src/main/java/com/a1/nextlocation/StatisticFragment.java b/app/src/main/java/com/a1/nextlocation/fragments/StatisticFragment.java similarity index 89% rename from app/src/main/java/com/a1/nextlocation/StatisticFragment.java rename to app/src/main/java/com/a1/nextlocation/fragments/StatisticFragment.java index b443d15..d86d6ea 100644 --- a/app/src/main/java/com/a1/nextlocation/StatisticFragment.java +++ b/app/src/main/java/com/a1/nextlocation/fragments/StatisticFragment.java @@ -1,4 +1,4 @@ -package com.a1.nextlocation; +package com.a1.nextlocation.fragments; import android.os.Bundle; @@ -8,6 +8,8 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import com.a1.nextlocation.R; + public class StatisticFragment extends Fragment { @Override diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 4fc2444..0496e03 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -4,7 +4,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - tools:context=".MainActivity"> + tools:context=".fragments.MainActivity"> + tools:context=".fragments.CouponFragment"> + tools:context=".fragments.HomeFragment"> + tools:context=".fragments.LocationFragment"> + tools:context=".fragments.LocationDetailFragment"> + tools:context=".fragments.RouteFragment"> + tools:context=".fragments.RouteDetailFragment"> + tools:context=".fragments.SettingsFragment"> + tools:context=".fragments.StatisticFragment"> Date: Mon, 14 Dec 2020 10:49:10 +0100 Subject: [PATCH 003/224] [ADD] all classes and packages according to class diagram --- app/src/main/AndroidManifest.xml | 2 +- .../com/a1/nextlocation/{fragments => }/MainActivity.java | 2 +- app/src/main/java/com/a1/nextlocation/data/Coupon.java | 4 ++++ app/src/main/java/com/a1/nextlocation/data/Data.java | 4 ++++ app/src/main/java/com/a1/nextlocation/data/FileIO.java | 4 ++++ app/src/main/java/com/a1/nextlocation/data/Location.java | 4 ++++ app/src/main/java/com/a1/nextlocation/data/Route.java | 4 ++++ .../java/com/a1/nextlocation/fragments/HelpPopup.java | 4 ++++ .../com/a1/nextlocation/recyclerview/CouponAdapter.java | 8 ++++++++ .../a1/nextlocation/recyclerview/CouponListManager.java | 4 ++++ .../com/a1/nextlocation/recyclerview/CouponLoader.java | 4 ++++ .../com/a1/nextlocation/recyclerview/LocationAdapter.java | 8 ++++++++ .../a1/nextlocation/recyclerview/LocationListManager.java | 4 ++++ .../com/a1/nextlocation/recyclerview/LocationLoader.java | 4 ++++ .../com/a1/nextlocation/recyclerview/RouteAdapter.java | 8 ++++++++ .../a1/nextlocation/recyclerview/RouteListManager.java | 4 ++++ .../com/a1/nextlocation/recyclerview/RouteLoader.java | 4 ++++ app/src/main/res/layout/activity_main.xml | 2 +- 18 files changed, 75 insertions(+), 3 deletions(-) rename app/src/main/java/com/a1/nextlocation/{fragments => }/MainActivity.java (92%) create mode 100644 app/src/main/java/com/a1/nextlocation/data/Coupon.java create mode 100644 app/src/main/java/com/a1/nextlocation/data/Data.java create mode 100644 app/src/main/java/com/a1/nextlocation/data/FileIO.java create mode 100644 app/src/main/java/com/a1/nextlocation/data/Location.java create mode 100644 app/src/main/java/com/a1/nextlocation/data/Route.java create mode 100644 app/src/main/java/com/a1/nextlocation/fragments/HelpPopup.java create mode 100644 app/src/main/java/com/a1/nextlocation/recyclerview/CouponAdapter.java create mode 100644 app/src/main/java/com/a1/nextlocation/recyclerview/CouponListManager.java create mode 100644 app/src/main/java/com/a1/nextlocation/recyclerview/CouponLoader.java create mode 100644 app/src/main/java/com/a1/nextlocation/recyclerview/LocationAdapter.java create mode 100644 app/src/main/java/com/a1/nextlocation/recyclerview/LocationListManager.java create mode 100644 app/src/main/java/com/a1/nextlocation/recyclerview/LocationLoader.java create mode 100644 app/src/main/java/com/a1/nextlocation/recyclerview/RouteAdapter.java create mode 100644 app/src/main/java/com/a1/nextlocation/recyclerview/RouteListManager.java create mode 100644 app/src/main/java/com/a1/nextlocation/recyclerview/RouteLoader.java diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d9fe9db..465afef 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -12,7 +12,7 @@ android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.NextLocation"> - + diff --git a/app/src/main/java/com/a1/nextlocation/fragments/MainActivity.java b/app/src/main/java/com/a1/nextlocation/MainActivity.java similarity index 92% rename from app/src/main/java/com/a1/nextlocation/fragments/MainActivity.java rename to app/src/main/java/com/a1/nextlocation/MainActivity.java index 434c91c..ee7fc67 100644 --- a/app/src/main/java/com/a1/nextlocation/fragments/MainActivity.java +++ b/app/src/main/java/com/a1/nextlocation/MainActivity.java @@ -1,4 +1,4 @@ -package com.a1.nextlocation.fragments; +package com.a1.nextlocation; import androidx.appcompat.app.AppCompatActivity; diff --git a/app/src/main/java/com/a1/nextlocation/data/Coupon.java b/app/src/main/java/com/a1/nextlocation/data/Coupon.java new file mode 100644 index 0000000..b980ab3 --- /dev/null +++ b/app/src/main/java/com/a1/nextlocation/data/Coupon.java @@ -0,0 +1,4 @@ +package com.a1.nextlocation.data; + +public class Coupon { +} diff --git a/app/src/main/java/com/a1/nextlocation/data/Data.java b/app/src/main/java/com/a1/nextlocation/data/Data.java new file mode 100644 index 0000000..8e09c97 --- /dev/null +++ b/app/src/main/java/com/a1/nextlocation/data/Data.java @@ -0,0 +1,4 @@ +package com.a1.nextlocation.data; + +public class Data { +} diff --git a/app/src/main/java/com/a1/nextlocation/data/FileIO.java b/app/src/main/java/com/a1/nextlocation/data/FileIO.java new file mode 100644 index 0000000..71c08f6 --- /dev/null +++ b/app/src/main/java/com/a1/nextlocation/data/FileIO.java @@ -0,0 +1,4 @@ +package com.a1.nextlocation.data; + +public class FileIO { +} diff --git a/app/src/main/java/com/a1/nextlocation/data/Location.java b/app/src/main/java/com/a1/nextlocation/data/Location.java new file mode 100644 index 0000000..2375e04 --- /dev/null +++ b/app/src/main/java/com/a1/nextlocation/data/Location.java @@ -0,0 +1,4 @@ +package com.a1.nextlocation.data; + +public class Location { +} diff --git a/app/src/main/java/com/a1/nextlocation/data/Route.java b/app/src/main/java/com/a1/nextlocation/data/Route.java new file mode 100644 index 0000000..213f3ba --- /dev/null +++ b/app/src/main/java/com/a1/nextlocation/data/Route.java @@ -0,0 +1,4 @@ +package com.a1.nextlocation.data; + +public class Route { +} diff --git a/app/src/main/java/com/a1/nextlocation/fragments/HelpPopup.java b/app/src/main/java/com/a1/nextlocation/fragments/HelpPopup.java new file mode 100644 index 0000000..3150986 --- /dev/null +++ b/app/src/main/java/com/a1/nextlocation/fragments/HelpPopup.java @@ -0,0 +1,4 @@ +package com.a1.nextlocation.fragments; + +public class HelpPopup { +} diff --git a/app/src/main/java/com/a1/nextlocation/recyclerview/CouponAdapter.java b/app/src/main/java/com/a1/nextlocation/recyclerview/CouponAdapter.java new file mode 100644 index 0000000..447131d --- /dev/null +++ b/app/src/main/java/com/a1/nextlocation/recyclerview/CouponAdapter.java @@ -0,0 +1,8 @@ +package com.a1.nextlocation.recyclerview; + +public class CouponAdapter { + + class CouponViewHolder { + + } +} diff --git a/app/src/main/java/com/a1/nextlocation/recyclerview/CouponListManager.java b/app/src/main/java/com/a1/nextlocation/recyclerview/CouponListManager.java new file mode 100644 index 0000000..fca99a6 --- /dev/null +++ b/app/src/main/java/com/a1/nextlocation/recyclerview/CouponListManager.java @@ -0,0 +1,4 @@ +package com.a1.nextlocation.recyclerview; + +public class CouponListManager { +} diff --git a/app/src/main/java/com/a1/nextlocation/recyclerview/CouponLoader.java b/app/src/main/java/com/a1/nextlocation/recyclerview/CouponLoader.java new file mode 100644 index 0000000..8c9d456 --- /dev/null +++ b/app/src/main/java/com/a1/nextlocation/recyclerview/CouponLoader.java @@ -0,0 +1,4 @@ +package com.a1.nextlocation.recyclerview; + +public class CouponLoader { +} diff --git a/app/src/main/java/com/a1/nextlocation/recyclerview/LocationAdapter.java b/app/src/main/java/com/a1/nextlocation/recyclerview/LocationAdapter.java new file mode 100644 index 0000000..cb42916 --- /dev/null +++ b/app/src/main/java/com/a1/nextlocation/recyclerview/LocationAdapter.java @@ -0,0 +1,8 @@ +package com.a1.nextlocation.recyclerview; + +public class LocationAdapter { + + class LocationViewHolder { + + } +} diff --git a/app/src/main/java/com/a1/nextlocation/recyclerview/LocationListManager.java b/app/src/main/java/com/a1/nextlocation/recyclerview/LocationListManager.java new file mode 100644 index 0000000..8e553a3 --- /dev/null +++ b/app/src/main/java/com/a1/nextlocation/recyclerview/LocationListManager.java @@ -0,0 +1,4 @@ +package com.a1.nextlocation.recyclerview; + +public class LocationListManager { +} diff --git a/app/src/main/java/com/a1/nextlocation/recyclerview/LocationLoader.java b/app/src/main/java/com/a1/nextlocation/recyclerview/LocationLoader.java new file mode 100644 index 0000000..dc43812 --- /dev/null +++ b/app/src/main/java/com/a1/nextlocation/recyclerview/LocationLoader.java @@ -0,0 +1,4 @@ +package com.a1.nextlocation.recyclerview; + +public class LocationLoader { +} diff --git a/app/src/main/java/com/a1/nextlocation/recyclerview/RouteAdapter.java b/app/src/main/java/com/a1/nextlocation/recyclerview/RouteAdapter.java new file mode 100644 index 0000000..b9e5618 --- /dev/null +++ b/app/src/main/java/com/a1/nextlocation/recyclerview/RouteAdapter.java @@ -0,0 +1,8 @@ +package com.a1.nextlocation.recyclerview; + +public class RouteAdapter { + + class RouteViewHolder { + + } +} diff --git a/app/src/main/java/com/a1/nextlocation/recyclerview/RouteListManager.java b/app/src/main/java/com/a1/nextlocation/recyclerview/RouteListManager.java new file mode 100644 index 0000000..bac3df7 --- /dev/null +++ b/app/src/main/java/com/a1/nextlocation/recyclerview/RouteListManager.java @@ -0,0 +1,4 @@ +package com.a1.nextlocation.recyclerview; + +public class RouteListManager { +} diff --git a/app/src/main/java/com/a1/nextlocation/recyclerview/RouteLoader.java b/app/src/main/java/com/a1/nextlocation/recyclerview/RouteLoader.java new file mode 100644 index 0000000..dbb390d --- /dev/null +++ b/app/src/main/java/com/a1/nextlocation/recyclerview/RouteLoader.java @@ -0,0 +1,4 @@ +package com.a1.nextlocation.recyclerview; + +public class RouteLoader { +} diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 0496e03..4fc2444 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -4,7 +4,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - tools:context=".fragments.MainActivity"> + tools:context=".MainActivity"> Date: Mon, 14 Dec 2020 10:55:39 +0100 Subject: [PATCH 004/224] [ADD] route class fields and getters / setters --- .../java/com/a1/nextlocation/data/Route.java | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/app/src/main/java/com/a1/nextlocation/data/Route.java b/app/src/main/java/com/a1/nextlocation/data/Route.java index 213f3ba..2714dab 100644 --- a/app/src/main/java/com/a1/nextlocation/data/Route.java +++ b/app/src/main/java/com/a1/nextlocation/data/Route.java @@ -1,4 +1,42 @@ package com.a1.nextlocation.data; +import java.util.List; + public class Route { + private String name; + private List locations; + private float totalDistance; + private int totalTime; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public List getLocations() { + return locations; + } + + public void setLocations(List locations) { + this.locations = locations; + } + + public float getTotalDistance() { + return totalDistance; + } + + public void setTotalDistance(float totalDistance) { + this.totalDistance = totalDistance; + } + + public int getTotalTime() { + return totalTime; + } + + public void setTotalTime(int totalTime) { + this.totalTime = totalTime; + } } -- 2.47.2 From dec62e8b9ad0c1a18462b42ce0e66e9aebee19d2 Mon Sep 17 00:00:00 2001 From: Sem van der Hoeven Date: Mon, 14 Dec 2020 10:56:49 +0100 Subject: [PATCH 005/224] [ADD] coupon class fields and getters / setters --- .../java/com/a1/nextlocation/data/Coupon.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/app/src/main/java/com/a1/nextlocation/data/Coupon.java b/app/src/main/java/com/a1/nextlocation/data/Coupon.java index b980ab3..5cfcece 100644 --- a/app/src/main/java/com/a1/nextlocation/data/Coupon.java +++ b/app/src/main/java/com/a1/nextlocation/data/Coupon.java @@ -1,4 +1,23 @@ package com.a1.nextlocation.data; public class Coupon { + + private String code; + private String reward; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getReward() { + return reward; + } + + public void setReward(String reward) { + this.reward = reward; + } } -- 2.47.2 From a2ffef10999cbd40cab4b882e418bb9fa356ce54 Mon Sep 17 00:00:00 2001 From: Bart Date: Mon, 14 Dec 2020 11:04:31 +0100 Subject: [PATCH 006/224] [ADD] data & location class fields and getters / setters --- .../java/com/a1/nextlocation/data/Data.java | 67 +++++++++++++++++++ .../com/a1/nextlocation/data/Location.java | 27 ++++++++ 2 files changed, 94 insertions(+) diff --git a/app/src/main/java/com/a1/nextlocation/data/Data.java b/app/src/main/java/com/a1/nextlocation/data/Data.java index 8e09c97..a16b52e 100644 --- a/app/src/main/java/com/a1/nextlocation/data/Data.java +++ b/app/src/main/java/com/a1/nextlocation/data/Data.java @@ -1,4 +1,71 @@ package com.a1.nextlocation.data; +import java.util.List; + public class Data { + private float distanceTraveled; + private int locationsVisited; + private int totalTime; + private List couponList; + private Location nextLocation; + private Location lastLocation; + private Route currentRoute; + + + + public float getDistanceTraveled() { + return distanceTraveled; + } + + public void setDistanceTraveled(float distanceTraveled) { + this.distanceTraveled = distanceTraveled; + } + + public int getLocationsVisited() { + return locationsVisited; + } + + public void setLocationsVisited(int locationsVisited) { + this.locationsVisited = locationsVisited; + } + + public int getTotalTime() { + return totalTime; + } + + public void setTotalTime(int totalTime) { + this.totalTime = totalTime; + } + + public List getCouponList() { + return couponList; + } + + public void setCouponList(List couponList) { + this.couponList = couponList; + } + + public Location getNextLocation() { + return nextLocation; + } + + public void setNextLocation(Location nextLocation) { + this.nextLocation = nextLocation; + } + + public Location getLastLocation() { + return lastLocation; + } + + public void setLastLocation(Location lastLocation) { + this.lastLocation = lastLocation; + } + + public Route getCurrentRoute() { + return currentRoute; + } + + public void setCurrentRoute(Route currentRoute) { + this.currentRoute = currentRoute; + } } diff --git a/app/src/main/java/com/a1/nextlocation/data/Location.java b/app/src/main/java/com/a1/nextlocation/data/Location.java index 2375e04..c1a822f 100644 --- a/app/src/main/java/com/a1/nextlocation/data/Location.java +++ b/app/src/main/java/com/a1/nextlocation/data/Location.java @@ -1,4 +1,31 @@ package com.a1.nextlocation.data; public class Location { + private String name; + private String coordinates; + private String description; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getCoordinates() { + return coordinates; + } + + public void setCoordinates(String coordinates) { + this.coordinates = coordinates; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } } -- 2.47.2 From b2d3364042b4b3716d574f31a8372f90082e9fdb Mon Sep 17 00:00:00 2001 From: Bipin Date: Mon, 14 Dec 2020 11:05:40 +0100 Subject: [PATCH 007/224] Edited themes --- app/src/main/res/values/themes.xml | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index 30a7222..2e220ef 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -2,15 +2,10 @@ \ No newline at end of file -- 2.47.2 From 12b446b679c17f50e47592bacc44369c565c4207 Mon Sep 17 00:00:00 2001 From: RemoMeijer Date: Mon, 14 Dec 2020 11:09:00 +0100 Subject: [PATCH 008/224] Implemented all Methods and interfaces --- .../recyclerview/CouponLoader.java | 6 +++- .../a1/nextlocation/recyclerview/Loader.java | 5 +++ .../recyclerview/LocationAdapter.java | 36 +++++++++++++++++-- .../recyclerview/LocationListManager.java | 18 ++++++++++ .../recyclerview/LocationLoader.java | 6 +++- .../recyclerview/RouteAdapter.java | 35 ++++++++++++++++-- .../recyclerview/RouteListManager.java | 25 ++++++++++++- .../recyclerview/RouteLoader.java | 6 +++- 8 files changed, 129 insertions(+), 8 deletions(-) create mode 100644 app/src/main/java/com/a1/nextlocation/recyclerview/Loader.java diff --git a/app/src/main/java/com/a1/nextlocation/recyclerview/CouponLoader.java b/app/src/main/java/com/a1/nextlocation/recyclerview/CouponLoader.java index 8c9d456..978a481 100644 --- a/app/src/main/java/com/a1/nextlocation/recyclerview/CouponLoader.java +++ b/app/src/main/java/com/a1/nextlocation/recyclerview/CouponLoader.java @@ -1,4 +1,8 @@ package com.a1.nextlocation.recyclerview; -public class CouponLoader { +public class CouponLoader implements Loader{ + @Override + public void load() { + + } } diff --git a/app/src/main/java/com/a1/nextlocation/recyclerview/Loader.java b/app/src/main/java/com/a1/nextlocation/recyclerview/Loader.java new file mode 100644 index 0000000..c704192 --- /dev/null +++ b/app/src/main/java/com/a1/nextlocation/recyclerview/Loader.java @@ -0,0 +1,5 @@ +package com.a1.nextlocation.recyclerview; + +public interface Loader { + void load(); +} diff --git a/app/src/main/java/com/a1/nextlocation/recyclerview/LocationAdapter.java b/app/src/main/java/com/a1/nextlocation/recyclerview/LocationAdapter.java index cb42916..2e6e773 100644 --- a/app/src/main/java/com/a1/nextlocation/recyclerview/LocationAdapter.java +++ b/app/src/main/java/com/a1/nextlocation/recyclerview/LocationAdapter.java @@ -1,8 +1,40 @@ package com.a1.nextlocation.recyclerview; -public class LocationAdapter { +import android.view.View; +import android.view.ViewGroup; - class LocationViewHolder { +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +public class LocationAdapter extends RecyclerView.Adapter { + + @NonNull + @Override + public LocationViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + return null; + } + + @Override + public void onBindViewHolder(@NonNull LocationViewHolder holder, int position) { } + + @Override + public int getItemCount() { + return 0; + } + + class LocationViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener { + + public LocationViewHolder(@NonNull View itemView) { + super(itemView); + } + + @Override + public void onClick(View view) { + + } + } + + } diff --git a/app/src/main/java/com/a1/nextlocation/recyclerview/LocationListManager.java b/app/src/main/java/com/a1/nextlocation/recyclerview/LocationListManager.java index 8e553a3..4ea1884 100644 --- a/app/src/main/java/com/a1/nextlocation/recyclerview/LocationListManager.java +++ b/app/src/main/java/com/a1/nextlocation/recyclerview/LocationListManager.java @@ -1,4 +1,22 @@ package com.a1.nextlocation.recyclerview; +import com.a1.nextlocation.data.Location; + +import java.util.List; + public class LocationListManager { + + private List location; + + public LocationListManager(){ + + } + + public List getLocation() { + return location; + } + + public void setLocation(List location) { + this.location = location; + } } diff --git a/app/src/main/java/com/a1/nextlocation/recyclerview/LocationLoader.java b/app/src/main/java/com/a1/nextlocation/recyclerview/LocationLoader.java index dc43812..2abdc6f 100644 --- a/app/src/main/java/com/a1/nextlocation/recyclerview/LocationLoader.java +++ b/app/src/main/java/com/a1/nextlocation/recyclerview/LocationLoader.java @@ -1,4 +1,8 @@ package com.a1.nextlocation.recyclerview; -public class LocationLoader { +public class LocationLoader implements Loader{ + @Override + public void load() { + + } } diff --git a/app/src/main/java/com/a1/nextlocation/recyclerview/RouteAdapter.java b/app/src/main/java/com/a1/nextlocation/recyclerview/RouteAdapter.java index b9e5618..1ab9236 100644 --- a/app/src/main/java/com/a1/nextlocation/recyclerview/RouteAdapter.java +++ b/app/src/main/java/com/a1/nextlocation/recyclerview/RouteAdapter.java @@ -1,8 +1,39 @@ package com.a1.nextlocation.recyclerview; -public class RouteAdapter { +import android.view.View; +import android.view.ViewGroup; - class RouteViewHolder { +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + + +public class RouteAdapter extends RecyclerView.Adapter{ + + @NonNull + @Override + public RouteViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + return null; + } + + @Override + public void onBindViewHolder(@NonNull RouteViewHolder holder, int position) { } + + @Override + public int getItemCount() { + return 0; + } + + class RouteViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener { + + public RouteViewHolder(@NonNull View itemView) { + super(itemView); + } + + @Override + public void onClick(View view) { + + } + } } diff --git a/app/src/main/java/com/a1/nextlocation/recyclerview/RouteListManager.java b/app/src/main/java/com/a1/nextlocation/recyclerview/RouteListManager.java index bac3df7..77f4513 100644 --- a/app/src/main/java/com/a1/nextlocation/recyclerview/RouteListManager.java +++ b/app/src/main/java/com/a1/nextlocation/recyclerview/RouteListManager.java @@ -1,4 +1,27 @@ package com.a1.nextlocation.recyclerview; -public class RouteListManager { +import com.a1.nextlocation.data.Route; + +import java.util.List; + +public class RouteListManager implements Loader{ + + List routes; + + public RouteListManager(){ + + } + + public List getRoutes() { + return routes; + } + + public void setRoutes(List routes) { + this.routes = routes; + } + + @Override + public void load() { + + } } diff --git a/app/src/main/java/com/a1/nextlocation/recyclerview/RouteLoader.java b/app/src/main/java/com/a1/nextlocation/recyclerview/RouteLoader.java index dbb390d..0ebad65 100644 --- a/app/src/main/java/com/a1/nextlocation/recyclerview/RouteLoader.java +++ b/app/src/main/java/com/a1/nextlocation/recyclerview/RouteLoader.java @@ -1,4 +1,8 @@ package com.a1.nextlocation.recyclerview; -public class RouteLoader { +public class RouteLoader implements Loader { + @Override + public void load() { + + } } -- 2.47.2 From a8add1f58ebd3f017bef9178e3d35ac04cb8e8de Mon Sep 17 00:00:00 2001 From: Bipin Date: Mon, 14 Dec 2020 11:09:39 +0100 Subject: [PATCH 009/224] [ADD]Colours to colors file --- app/src/main/res/values/colors.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index f8c6127..7f3bc58 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -7,4 +7,7 @@ #FF018786 #FF000000 #FFFFFFFF + #115571 + #31AFB4 + #14212D \ No newline at end of file -- 2.47.2 From aee2797a0f98b0a6957bed2af3b4419ca6139bc9 Mon Sep 17 00:00:00 2001 From: sebas Date: Mon, 14 Dec 2020 11:10:51 +0100 Subject: [PATCH 010/224] [Added] methods to CouponAdapter --- .../recyclerview/CouponAdapter.java | 58 ++++++++++++++++++- 1 file changed, 56 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/a1/nextlocation/recyclerview/CouponAdapter.java b/app/src/main/java/com/a1/nextlocation/recyclerview/CouponAdapter.java index 447131d..1c21fc2 100644 --- a/app/src/main/java/com/a1/nextlocation/recyclerview/CouponAdapter.java +++ b/app/src/main/java/com/a1/nextlocation/recyclerview/CouponAdapter.java @@ -1,8 +1,62 @@ package com.a1.nextlocation.recyclerview; -public class CouponAdapter { +import android.content.Context; +import android.view.View; +import android.view.ViewGroup; - class CouponViewHolder { +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +import com.a1.nextlocation.data.Coupon; + +import java.util.List; + +public class CouponAdapter extends RecyclerView.Adapter { + + private Context appContext; + private List couponList; + private OnItemClickListener clickListener; + + public interface OnItemClickListener { + void onItemClick(int clickedPosition); + } + + class CouponViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener { + + public CouponViewHolder(@NonNull View itemView) { + super(itemView); + } + + @Override + public void onClick(View view) { + int clickedPosition = getAdapterPosition(); + clickListener.onItemClick(clickedPosition); + } + } + + public CouponAdapter(Context context, List coupon, OnItemClickListener listener){ + appContext = context; + couponList = coupon; + clickListener = listener; + } + + @NonNull + @Override + public CouponViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + return null; + } + + @Override + public void onBindViewHolder(@NonNull CouponViewHolder holder, int position) { } + + @Override + public int getItemCount() { + return couponList.size(); + } + + + + } -- 2.47.2 From 7666e2fc1a0af137bd277ea0ae0d98606623565d Mon Sep 17 00:00:00 2001 From: Robin Koedood Date: Mon, 14 Dec 2020 11:15:45 +0100 Subject: [PATCH 011/224] [ADD]Color in theme --- app/src/main/res/values/colors.xml | 6 +++--- app/src/main/res/values/themes.xml | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 7f3bc58..cf6f6b1 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -7,7 +7,7 @@ #FF018786 #FF000000 #FFFFFFFF - #115571 - #31AFB4 - #14212D + #FF115571 + #FF31AFB4 + #FF14212D \ No newline at end of file diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index 2e220ef..4951880 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -2,10 +2,10 @@ \ No newline at end of file -- 2.47.2 From 64c8b0591a56bac6b27bd30e302ffcd5c85ee607 Mon Sep 17 00:00:00 2001 From: Sem van der Hoeven Date: Mon, 14 Dec 2020 11:16:40 +0100 Subject: [PATCH 012/224] [ADD] constructors --- .../java/com/a1/nextlocation/data/Coupon.java | 5 +++++ .../java/com/a1/nextlocation/data/FileIO.java | 8 ++++++++ .../java/com/a1/nextlocation/data/Route.java | 20 +++++++++++++------ 3 files changed, 27 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/a1/nextlocation/data/Coupon.java b/app/src/main/java/com/a1/nextlocation/data/Coupon.java index 5cfcece..6e50deb 100644 --- a/app/src/main/java/com/a1/nextlocation/data/Coupon.java +++ b/app/src/main/java/com/a1/nextlocation/data/Coupon.java @@ -5,6 +5,11 @@ public class Coupon { private String code; private String reward; + public Coupon(String code, String reward) { + this.code = code; + this.reward = reward; + } + public String getCode() { return code; } diff --git a/app/src/main/java/com/a1/nextlocation/data/FileIO.java b/app/src/main/java/com/a1/nextlocation/data/FileIO.java index 71c08f6..6d6d8f9 100644 --- a/app/src/main/java/com/a1/nextlocation/data/FileIO.java +++ b/app/src/main/java/com/a1/nextlocation/data/FileIO.java @@ -1,4 +1,12 @@ package com.a1.nextlocation.data; public class FileIO { + + public static void readFileData() { + + } + + public static void writeFileData() { + + } } diff --git a/app/src/main/java/com/a1/nextlocation/data/Route.java b/app/src/main/java/com/a1/nextlocation/data/Route.java index 2714dab..ed5445a 100644 --- a/app/src/main/java/com/a1/nextlocation/data/Route.java +++ b/app/src/main/java/com/a1/nextlocation/data/Route.java @@ -1,5 +1,6 @@ package com.a1.nextlocation.data; +import java.util.ArrayList; import java.util.List; public class Route { @@ -8,6 +9,17 @@ public class Route { private float totalDistance; private int totalTime; + public Route(String name) { + + this.name = name; + this.locations = new ArrayList<>(); + + } + + public void addLocation(Location location) { + this.locations.add(location); + } + public String getName() { return name; } @@ -25,18 +37,14 @@ public class Route { } public float getTotalDistance() { + //TODO calculate total distance according to all locations in list return totalDistance; } - public void setTotalDistance(float totalDistance) { - this.totalDistance = totalDistance; - } public int getTotalTime() { + //TODO calculate total time according to all locations in list return totalTime; } - public void setTotalTime(int totalTime) { - this.totalTime = totalTime; - } } -- 2.47.2 From c4fd44ad7607bb5fd003107a13a765aea40a5593 Mon Sep 17 00:00:00 2001 From: Sem van der Hoeven Date: Mon, 14 Dec 2020 11:19:11 +0100 Subject: [PATCH 013/224] added room dependency --- app/build.gradle | 6 ++++++ app/src/main/java/com/a1/nextlocation/data/Coupon.java | 1 + 2 files changed, 7 insertions(+) diff --git a/app/build.gradle b/app/build.gradle index a452ddc..be97688 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -30,6 +30,12 @@ android { dependencies { + def room_version = "2.2.5" + + implementation "androidx.room:room-runtime:$room_version" + annotationProcessor "androidx.room:room-compiler:$room_version" + + implementation 'androidx.appcompat:appcompat:1.2.0' implementation 'com.google.android.material:material:1.2.1' implementation 'androidx.constraintlayout:constraintlayout:2.0.4' diff --git a/app/src/main/java/com/a1/nextlocation/data/Coupon.java b/app/src/main/java/com/a1/nextlocation/data/Coupon.java index 6e50deb..06a9e23 100644 --- a/app/src/main/java/com/a1/nextlocation/data/Coupon.java +++ b/app/src/main/java/com/a1/nextlocation/data/Coupon.java @@ -5,6 +5,7 @@ public class Coupon { private String code; private String reward; + public Coupon(String code, String reward) { this.code = code; this.reward = reward; -- 2.47.2 From e5fa7db27d8446ec9cffdba5155153f41e721dca Mon Sep 17 00:00:00 2001 From: sebas Date: Mon, 14 Dec 2020 11:19:39 +0100 Subject: [PATCH 014/224] [Added] Added some functionallity to the adapters (not finished yet due to missing functionallity from other classes) --- .../recyclerview/LocationAdapter.java | 46 ++++++++++++------ .../recyclerview/RouteAdapter.java | 47 +++++++++++++------ 2 files changed, 65 insertions(+), 28 deletions(-) diff --git a/app/src/main/java/com/a1/nextlocation/recyclerview/LocationAdapter.java b/app/src/main/java/com/a1/nextlocation/recyclerview/LocationAdapter.java index 2e6e773..836a973 100644 --- a/app/src/main/java/com/a1/nextlocation/recyclerview/LocationAdapter.java +++ b/app/src/main/java/com/a1/nextlocation/recyclerview/LocationAdapter.java @@ -1,27 +1,24 @@ package com.a1.nextlocation.recyclerview; +import android.content.Context; import android.view.View; import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; +import com.a1.nextlocation.data.Location; + +import java.util.List; + public class LocationAdapter extends RecyclerView.Adapter { - @NonNull - @Override - public LocationViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { - return null; - } + private Context appContext; + private List locationList; + private CouponAdapter.OnItemClickListener clickListener; - @Override - public void onBindViewHolder(@NonNull LocationViewHolder holder, int position) { - - } - - @Override - public int getItemCount() { - return 0; + public interface OnItemClickListener { + void onItemClick(int clickedPosition); } class LocationViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener { @@ -32,9 +29,30 @@ public class LocationAdapter extends RecyclerView.Adapter location, CouponAdapter.OnItemClickListener listener){ + appContext = context; + locationList = location; + clickListener = listener; + } + @NonNull + @Override + public LocationAdapter.LocationViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + return null; + } + + @Override + public void onBindViewHolder(@NonNull LocationAdapter.LocationViewHolder holder, int position) { + + } + + @Override + public int getItemCount() { + return locationList.size(); + } } diff --git a/app/src/main/java/com/a1/nextlocation/recyclerview/RouteAdapter.java b/app/src/main/java/com/a1/nextlocation/recyclerview/RouteAdapter.java index 1ab9236..4f662b4 100644 --- a/app/src/main/java/com/a1/nextlocation/recyclerview/RouteAdapter.java +++ b/app/src/main/java/com/a1/nextlocation/recyclerview/RouteAdapter.java @@ -1,28 +1,24 @@ package com.a1.nextlocation.recyclerview; +import android.content.Context; import android.view.View; import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; +import com.a1.nextlocation.data.Route; + +import java.util.List; public class RouteAdapter extends RecyclerView.Adapter{ - @NonNull - @Override - public RouteViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { - return null; - } + private Context appContext; + private List routeList; + private CouponAdapter.OnItemClickListener clickListener; - @Override - public void onBindViewHolder(@NonNull RouteViewHolder holder, int position) { - - } - - @Override - public int getItemCount() { - return 0; + public interface OnItemClickListener { + void onItemClick(int clickedPosition); } class RouteViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener { @@ -33,7 +29,30 @@ public class RouteAdapter extends RecyclerView.Adapter route, CouponAdapter.OnItemClickListener listener){ + appContext = context; + routeList = route; + clickListener = listener; + } + + @NonNull + @Override + public RouteAdapter.RouteViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + return null; + } + + @Override + public void onBindViewHolder(@NonNull RouteAdapter.RouteViewHolder holder, int position) { + + } + + @Override + public int getItemCount() { + return routeList.size(); + } } -- 2.47.2 From 13b73fb0de1448a8c216c92d68e28719a2820dad Mon Sep 17 00:00:00 2001 From: sebas Date: Mon, 14 Dec 2020 11:21:43 +0100 Subject: [PATCH 015/224] [Added] created method for CouponListManager --- .../recyclerview/CouponListManager.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/app/src/main/java/com/a1/nextlocation/recyclerview/CouponListManager.java b/app/src/main/java/com/a1/nextlocation/recyclerview/CouponListManager.java index fca99a6..320567d 100644 --- a/app/src/main/java/com/a1/nextlocation/recyclerview/CouponListManager.java +++ b/app/src/main/java/com/a1/nextlocation/recyclerview/CouponListManager.java @@ -1,4 +1,23 @@ package com.a1.nextlocation.recyclerview; +import com.a1.nextlocation.data.Coupon; + +import java.util.List; + public class CouponListManager { + + private List coupon; + + public CouponListManager(){ + + } + + public List getCoupon() { + return coupon; + } + + public void setCoupon(List location) { + this.coupon = coupon; + } + } -- 2.47.2 From 63c49c40d7041f20e388104223e9318791662b47 Mon Sep 17 00:00:00 2001 From: sebas Date: Mon, 14 Dec 2020 11:39:29 +0100 Subject: [PATCH 016/224] [change] Small change to adapter classes --- .../java/com/a1/nextlocation/recyclerview/CouponAdapter.java | 3 +-- .../java/com/a1/nextlocation/recyclerview/LocationAdapter.java | 3 +-- .../java/com/a1/nextlocation/recyclerview/RouteAdapter.java | 3 +-- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/a1/nextlocation/recyclerview/CouponAdapter.java b/app/src/main/java/com/a1/nextlocation/recyclerview/CouponAdapter.java index 1c21fc2..2098508 100644 --- a/app/src/main/java/com/a1/nextlocation/recyclerview/CouponAdapter.java +++ b/app/src/main/java/com/a1/nextlocation/recyclerview/CouponAdapter.java @@ -29,8 +29,7 @@ public class CouponAdapter extends RecyclerView.Adapter Date: Mon, 14 Dec 2020 11:55:03 +0100 Subject: [PATCH 017/224] menu items added --- app/src/main/res/menu/navmenu.xml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 app/src/main/res/menu/navmenu.xml diff --git a/app/src/main/res/menu/navmenu.xml b/app/src/main/res/menu/navmenu.xml new file mode 100644 index 0000000..fe187c0 --- /dev/null +++ b/app/src/main/res/menu/navmenu.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file -- 2.47.2 From f4d74f988035232859be1a9999b724d132d79d0b Mon Sep 17 00:00:00 2001 From: Bipin Date: Mon, 14 Dec 2020 11:55:20 +0100 Subject: [PATCH 018/224] added menu items --- app/src/main/res/layout/activity_main.xml | 37 +++++++++++++++++++---- app/src/main/res/menu/navmenu.xml | 20 ++++++++++++ app/src/main/res/values/strings.xml | 4 +++ 3 files changed, 55 insertions(+), 6 deletions(-) diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 4fc2444..0d171d6 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -6,13 +6,38 @@ android:layout_height="match_parent" tools:context=".MainActivity"> - + + + + + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:menu="@menu/navmenu" + /> \ No newline at end of file diff --git a/app/src/main/res/menu/navmenu.xml b/app/src/main/res/menu/navmenu.xml index fe187c0..eb1895a 100644 --- a/app/src/main/res/menu/navmenu.xml +++ b/app/src/main/res/menu/navmenu.xml @@ -1,4 +1,24 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 51a1649..64df6ce 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -2,4 +2,8 @@ Next Location Hello blank fragment + Locaties + Routes + Statistieken + Instellingen \ No newline at end of file -- 2.47.2 From 08215e18c58a46ea0ac2b90eafacca2d4c8f1141 Mon Sep 17 00:00:00 2001 From: Sem van der Hoeven Date: Mon, 14 Dec 2020 12:00:01 +0100 Subject: [PATCH 019/224] added database and coupon and route daos --- .../java/com/a1/nextlocation/data/Coupon.java | 31 ++++++++--- .../java/com/a1/nextlocation/data/Route.java | 29 +++++++++- .../a1/nextlocation/data/db/CouponDao.java | 31 +++++++++++ .../data/db/CouponRepository.java | 29 ++++++++++ .../com/a1/nextlocation/data/db/Database.java | 53 +++++++++++++++++++ .../com/a1/nextlocation/data/db/RouteDao.java | 30 +++++++++++ 6 files changed, 195 insertions(+), 8 deletions(-) create mode 100644 app/src/main/java/com/a1/nextlocation/data/db/CouponDao.java create mode 100644 app/src/main/java/com/a1/nextlocation/data/db/CouponRepository.java create mode 100644 app/src/main/java/com/a1/nextlocation/data/db/Database.java create mode 100644 app/src/main/java/com/a1/nextlocation/data/db/RouteDao.java diff --git a/app/src/main/java/com/a1/nextlocation/data/Coupon.java b/app/src/main/java/com/a1/nextlocation/data/Coupon.java index 06a9e23..14456a5 100644 --- a/app/src/main/java/com/a1/nextlocation/data/Coupon.java +++ b/app/src/main/java/com/a1/nextlocation/data/Coupon.java @@ -1,29 +1,48 @@ package com.a1.nextlocation.data; +import androidx.annotation.NonNull; +import androidx.room.ColumnInfo; +import androidx.room.Entity; +import androidx.room.PrimaryKey; + +import org.jetbrains.annotations.NotNull; + +@Entity(tableName = "coupon") public class Coupon { + /** + * fields need to be public for the database to be able to use them + */ + @PrimaryKey + @NonNull + @ColumnInfo(name = "code") private String code; + + @ColumnInfo(name = "reward") + @NonNull private String reward; - public Coupon(String code, String reward) { + public Coupon(@NonNull String code, @NotNull String reward) { this.code = code; this.reward = reward; } + @NonNull public String getCode() { return code; } - public void setCode(String code) { - this.code = code; - } - + @NonNull public String getReward() { return reward; } - public void setReward(String reward) { + public void setCode(@NonNull String code) { + this.code = code; + } + + public void setReward(@NonNull String reward) { this.reward = reward; } } diff --git a/app/src/main/java/com/a1/nextlocation/data/Route.java b/app/src/main/java/com/a1/nextlocation/data/Route.java index ed5445a..5223e66 100644 --- a/app/src/main/java/com/a1/nextlocation/data/Route.java +++ b/app/src/main/java/com/a1/nextlocation/data/Route.java @@ -1,15 +1,31 @@ package com.a1.nextlocation.data; +import androidx.annotation.NonNull; +import androidx.room.ColumnInfo; +import androidx.room.Entity; +import androidx.room.PrimaryKey; + +import org.jetbrains.annotations.NotNull; + import java.util.ArrayList; import java.util.List; +@Entity public class Route { + + @PrimaryKey + @NonNull private String name; + private List locations; + + @ColumnInfo(name = "total_distance") private float totalDistance; + + @ColumnInfo(name = "total_time") private int totalTime; - public Route(String name) { + public Route(@NotNull String name) { this.name = name; this.locations = new ArrayList<>(); @@ -20,11 +36,12 @@ public class Route { this.locations.add(location); } + @NotNull public String getName() { return name; } - public void setName(String name) { + public void setName(@NotNull String name) { this.name = name; } @@ -47,4 +64,12 @@ public class Route { return totalTime; } + public void setTotalDistance(float totalDistance) { + this.totalDistance = totalDistance; + } + + public void setTotalTime(int totalTime) { + this.totalTime = totalTime; + } + } diff --git a/app/src/main/java/com/a1/nextlocation/data/db/CouponDao.java b/app/src/main/java/com/a1/nextlocation/data/db/CouponDao.java new file mode 100644 index 0000000..c528c54 --- /dev/null +++ b/app/src/main/java/com/a1/nextlocation/data/db/CouponDao.java @@ -0,0 +1,31 @@ +package com.a1.nextlocation.data.db; + +import androidx.lifecycle.LiveData; +import androidx.room.Dao; +import androidx.room.Insert; +import androidx.room.OnConflictStrategy; +import androidx.room.Query; +import androidx.room.Update; + +import com.a1.nextlocation.data.Coupon; + +import java.util.List; + +@Dao +public interface CouponDao { + @Insert(onConflict = OnConflictStrategy.REPLACE) + void insertAll(Coupon... coupons); + + @Query("DELETE FROM coupon") + void deleteAll(); + + @Query("SELECT * FROM coupon") + LiveData> selectAll(); + + /* + to add an observer to the livedata, you can use the example from https://medium.com/mindorks/using-room-database-with-livedata-android-jetpack-cbf89b677b47 + */ + + @Query("SELECT * FROM coupon WHERE code = :code LIMIT 1") + Coupon selectCouponByCode(String code); +} diff --git a/app/src/main/java/com/a1/nextlocation/data/db/CouponRepository.java b/app/src/main/java/com/a1/nextlocation/data/db/CouponRepository.java new file mode 100644 index 0000000..b34549a --- /dev/null +++ b/app/src/main/java/com/a1/nextlocation/data/db/CouponRepository.java @@ -0,0 +1,29 @@ +package com.a1.nextlocation.data.db; + +import android.app.Application; +import android.content.Context; + +import androidx.lifecycle.LiveData; + +import com.a1.nextlocation.data.Coupon; + +import java.util.List; + +public class CouponRepository { + private CouponDao mCouponDao; + private LiveData> mAllCoupons; + + public CouponRepository(Context context) { + Database db = Database.getDatabase(context); + mCouponDao = db.couponDao(); + mAllCoupons = mCouponDao.selectAll(); + } + + public LiveData> getAllCoupons() { + return mAllCoupons; + } + + public Coupon getCoupon(String code) { + return mCouponDao.selectCouponByCode(code); + } +} diff --git a/app/src/main/java/com/a1/nextlocation/data/db/Database.java b/app/src/main/java/com/a1/nextlocation/data/db/Database.java new file mode 100644 index 0000000..7e1ca38 --- /dev/null +++ b/app/src/main/java/com/a1/nextlocation/data/db/Database.java @@ -0,0 +1,53 @@ +package com.a1.nextlocation.data.db; + +import android.content.Context; + +import androidx.annotation.NonNull; +import androidx.room.DatabaseConfiguration; +import androidx.room.InvalidationTracker; +import androidx.room.Room; +import androidx.room.RoomDatabase; +import androidx.sqlite.db.SupportSQLiteDatabase; +import androidx.sqlite.db.SupportSQLiteOpenHelper; + +import com.a1.nextlocation.data.Coupon; +import com.a1.nextlocation.data.Route; + +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + +@androidx.room.Database(entities = {Coupon.class,Route.class},version = 1,exportSchema = false) +public abstract class Database extends RoomDatabase { + + public abstract RouteDao routeDao(); + public abstract CouponDao couponDao(); + + private static volatile Database INSTANCE; + private static final int NUMBER_OF_THREADS = 4; + static final ExecutorService databaseWriterExecutor = Executors.newFixedThreadPool(NUMBER_OF_THREADS); + + static Database getDatabase(final Context context) { + if (INSTANCE == null){ + synchronized (Database.class) { + if (INSTANCE == null) { + + INSTANCE = Room.databaseBuilder(context.getApplicationContext(), + Database.class,"next_location_db").addCallback(callback).build(); + } + } + } + return INSTANCE; + } + + private static RoomDatabase.Callback callback = new RoomDatabase.Callback() { + @Override + public void onCreate(@NonNull SupportSQLiteDatabase db) { + super.onCreate(db); + + databaseWriterExecutor.execute(() -> { + // TODO populate our database here + }); + + } + }; +} diff --git a/app/src/main/java/com/a1/nextlocation/data/db/RouteDao.java b/app/src/main/java/com/a1/nextlocation/data/db/RouteDao.java new file mode 100644 index 0000000..03e9bfe --- /dev/null +++ b/app/src/main/java/com/a1/nextlocation/data/db/RouteDao.java @@ -0,0 +1,30 @@ +package com.a1.nextlocation.data.db; + +import androidx.lifecycle.LiveData; +import androidx.room.Dao; +import androidx.room.Insert; +import androidx.room.Query; +import androidx.room.Update; + +import com.a1.nextlocation.data.Route; + +import java.util.List; + +@Dao +public interface RouteDao { + + @Insert + void insertAll(Route... routes); + + @Query("DELETE FROM route") + void deleteAll(); + + @Query("SELECT * FROM route") + LiveData> getAll(); + + @Update + void update(Route route); + + @Query("SELECT * FROM route where name = :name LIMIT 1") + Route getRouteByName(String name); +} -- 2.47.2 From 204d45ceceb561ca49fcf147840e96bae00571df Mon Sep 17 00:00:00 2001 From: Sem van der Hoeven Date: Mon, 14 Dec 2020 12:03:47 +0100 Subject: [PATCH 020/224] added packages for dao and repository --- .../com/a1/nextlocation/data/db/Database.java | 7 ++--- .../data/db/{ => dao}/CouponDao.java | 2 +- .../data/db/{ => dao}/RouteDao.java | 5 +--- .../{ => repositories}/CouponRepository.java | 5 ++-- .../data/db/repositories/RouteRepository.java | 30 +++++++++++++++++++ 5 files changed, 38 insertions(+), 11 deletions(-) rename app/src/main/java/com/a1/nextlocation/data/db/{ => dao}/CouponDao.java (95%) rename app/src/main/java/com/a1/nextlocation/data/db/{ => dao}/RouteDao.java (86%) rename app/src/main/java/com/a1/nextlocation/data/db/{ => repositories}/CouponRepository.java (81%) create mode 100644 app/src/main/java/com/a1/nextlocation/data/db/repositories/RouteRepository.java diff --git a/app/src/main/java/com/a1/nextlocation/data/db/Database.java b/app/src/main/java/com/a1/nextlocation/data/db/Database.java index 7e1ca38..e7c97a7 100644 --- a/app/src/main/java/com/a1/nextlocation/data/db/Database.java +++ b/app/src/main/java/com/a1/nextlocation/data/db/Database.java @@ -3,15 +3,14 @@ package com.a1.nextlocation.data.db; import android.content.Context; import androidx.annotation.NonNull; -import androidx.room.DatabaseConfiguration; -import androidx.room.InvalidationTracker; import androidx.room.Room; import androidx.room.RoomDatabase; import androidx.sqlite.db.SupportSQLiteDatabase; -import androidx.sqlite.db.SupportSQLiteOpenHelper; import com.a1.nextlocation.data.Coupon; import com.a1.nextlocation.data.Route; +import com.a1.nextlocation.data.db.dao.CouponDao; +import com.a1.nextlocation.data.db.dao.RouteDao; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; @@ -26,7 +25,7 @@ public abstract class Database extends RoomDatabase { private static final int NUMBER_OF_THREADS = 4; static final ExecutorService databaseWriterExecutor = Executors.newFixedThreadPool(NUMBER_OF_THREADS); - static Database getDatabase(final Context context) { + public static Database getDatabase(final Context context) { if (INSTANCE == null){ synchronized (Database.class) { if (INSTANCE == null) { diff --git a/app/src/main/java/com/a1/nextlocation/data/db/CouponDao.java b/app/src/main/java/com/a1/nextlocation/data/db/dao/CouponDao.java similarity index 95% rename from app/src/main/java/com/a1/nextlocation/data/db/CouponDao.java rename to app/src/main/java/com/a1/nextlocation/data/db/dao/CouponDao.java index c528c54..ca68438 100644 --- a/app/src/main/java/com/a1/nextlocation/data/db/CouponDao.java +++ b/app/src/main/java/com/a1/nextlocation/data/db/dao/CouponDao.java @@ -1,4 +1,4 @@ -package com.a1.nextlocation.data.db; +package com.a1.nextlocation.data.db.dao; import androidx.lifecycle.LiveData; import androidx.room.Dao; diff --git a/app/src/main/java/com/a1/nextlocation/data/db/RouteDao.java b/app/src/main/java/com/a1/nextlocation/data/db/dao/RouteDao.java similarity index 86% rename from app/src/main/java/com/a1/nextlocation/data/db/RouteDao.java rename to app/src/main/java/com/a1/nextlocation/data/db/dao/RouteDao.java index 03e9bfe..4d30dc6 100644 --- a/app/src/main/java/com/a1/nextlocation/data/db/RouteDao.java +++ b/app/src/main/java/com/a1/nextlocation/data/db/dao/RouteDao.java @@ -1,4 +1,4 @@ -package com.a1.nextlocation.data.db; +package com.a1.nextlocation.data.db.dao; import androidx.lifecycle.LiveData; import androidx.room.Dao; @@ -22,9 +22,6 @@ public interface RouteDao { @Query("SELECT * FROM route") LiveData> getAll(); - @Update - void update(Route route); - @Query("SELECT * FROM route where name = :name LIMIT 1") Route getRouteByName(String name); } diff --git a/app/src/main/java/com/a1/nextlocation/data/db/CouponRepository.java b/app/src/main/java/com/a1/nextlocation/data/db/repositories/CouponRepository.java similarity index 81% rename from app/src/main/java/com/a1/nextlocation/data/db/CouponRepository.java rename to app/src/main/java/com/a1/nextlocation/data/db/repositories/CouponRepository.java index b34549a..8219799 100644 --- a/app/src/main/java/com/a1/nextlocation/data/db/CouponRepository.java +++ b/app/src/main/java/com/a1/nextlocation/data/db/repositories/CouponRepository.java @@ -1,11 +1,12 @@ -package com.a1.nextlocation.data.db; +package com.a1.nextlocation.data.db.repositories; -import android.app.Application; import android.content.Context; import androidx.lifecycle.LiveData; import com.a1.nextlocation.data.Coupon; +import com.a1.nextlocation.data.db.dao.CouponDao; +import com.a1.nextlocation.data.db.Database; import java.util.List; diff --git a/app/src/main/java/com/a1/nextlocation/data/db/repositories/RouteRepository.java b/app/src/main/java/com/a1/nextlocation/data/db/repositories/RouteRepository.java new file mode 100644 index 0000000..0247951 --- /dev/null +++ b/app/src/main/java/com/a1/nextlocation/data/db/repositories/RouteRepository.java @@ -0,0 +1,30 @@ +package com.a1.nextlocation.data.db.repositories; + +import android.content.Context; + +import androidx.lifecycle.LiveData; + +import com.a1.nextlocation.data.Route; +import com.a1.nextlocation.data.db.Database; +import com.a1.nextlocation.data.db.dao.RouteDao; + +import java.util.List; + +public class RouteRepository { + private RouteDao mRouteDao; + private LiveData> mAllRoutes; + + public RouteRepository(Context context) { + Database db = Database.getDatabase(context); + mRouteDao = db.routeDao(); + mAllRoutes = mRouteDao.getAll(); + } + + public LiveData> getAllRoutes() { + return mAllRoutes; + } + + public Route getRouteByName(String name) { + return mRouteDao.getRouteByName(name); + } +} -- 2.47.2 From 16b9b15856ca49054b99986cb43afed642fbfb67 Mon Sep 17 00:00:00 2001 From: RemoMeijer Date: Mon, 14 Dec 2020 12:05:32 +0100 Subject: [PATCH 021/224] Added some functionality --- .../recyclerview/LocationAdapter.java | 23 +++++++++++++++---- app/src/main/res/layout/fragment_location.xml | 8 +++---- .../res/layout/fragment_location_detail.xml | 14 ++++++++--- 3 files changed, 32 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/com/a1/nextlocation/recyclerview/LocationAdapter.java b/app/src/main/java/com/a1/nextlocation/recyclerview/LocationAdapter.java index 8854e98..5ef367f 100644 --- a/app/src/main/java/com/a1/nextlocation/recyclerview/LocationAdapter.java +++ b/app/src/main/java/com/a1/nextlocation/recyclerview/LocationAdapter.java @@ -1,12 +1,15 @@ package com.a1.nextlocation.recyclerview; import android.content.Context; +import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.TextView; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; +import com.a1.nextlocation.R; import com.a1.nextlocation.data.Location; import java.util.List; @@ -23,31 +26,41 @@ public class LocationAdapter extends RecyclerView.Adapter location, CouponAdapter.OnItemClickListener listener){ - appContext = context; - locationList = location; - clickListener = listener; + this.appContext = context; + this.locationList = location; + this.clickListener = listener; } @NonNull @Override public LocationAdapter.LocationViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { - return null; + View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.fragment_location, parent, false); + LocationViewHolder viewHolder = new LocationViewHolder(itemView); + return viewHolder; } @Override public void onBindViewHolder(@NonNull LocationAdapter.LocationViewHolder holder, int position) { - + Location location = locationList.get(position); + holder.setTextViewText(location.getName()); } @Override diff --git a/app/src/main/res/layout/fragment_location.xml b/app/src/main/res/layout/fragment_location.xml index 958a325..410f85f 100644 --- a/app/src/main/res/layout/fragment_location.xml +++ b/app/src/main/res/layout/fragment_location.xml @@ -1,14 +1,12 @@ - - - + android:layout_height="match_parent"/> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_location_detail.xml b/app/src/main/res/layout/fragment_location_detail.xml index 92351b4..a511ae5 100644 --- a/app/src/main/res/layout/fragment_location_detail.xml +++ b/app/src/main/res/layout/fragment_location_detail.xml @@ -1,14 +1,22 @@ + + android:id="@+id/location_name" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="LocationName" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintVertical_bias="0.296" /> \ No newline at end of file -- 2.47.2 From 19ae360ee08d23ce5ab5108f5b122425f86ddc2a Mon Sep 17 00:00:00 2001 From: Robin Koedood Date: Mon, 14 Dec 2020 12:06:25 +0100 Subject: [PATCH 022/224] [ADD] Settings fragment --- .../fragments/SettingsFragment.java | 12 +- app/src/main/res/layout/fragment_settings.xml | 205 +++++++++++++++++- 2 files changed, 210 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/a1/nextlocation/fragments/SettingsFragment.java b/app/src/main/java/com/a1/nextlocation/fragments/SettingsFragment.java index 92fa105..3d1a436 100644 --- a/app/src/main/java/com/a1/nextlocation/fragments/SettingsFragment.java +++ b/app/src/main/java/com/a1/nextlocation/fragments/SettingsFragment.java @@ -7,7 +7,10 @@ import androidx.fragment.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.ArrayAdapter; +import android.widget.Spinner; +import com.a1.nextlocation.MainActivity; import com.a1.nextlocation.R; public class SettingsFragment extends Fragment { @@ -15,13 +18,20 @@ public class SettingsFragment extends Fragment { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment + View view = getView(); + Spinner dropdown = view.findViewById(R.id.dropdown_menu_Settings); + + String[] items = new String[]{"Nederlands", "Engels", "Chinees"}; + ArrayAdapter arrayAdapter = new ArrayAdapter<>(getActivity(), android.R.layout.simple_spinner_dropdown_item, items); + + dropdown.setAdapter(arrayAdapter); + return inflater.inflate(R.layout.fragment_settings, container, false); } } \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_settings.xml b/app/src/main/res/layout/fragment_settings.xml index 453d34f..34cd007 100644 --- a/app/src/main/res/layout/fragment_settings.xml +++ b/app/src/main/res/layout/fragment_settings.xml @@ -1,14 +1,207 @@ - - + android:id="@+id/textView" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="10dp" + android:text="Settings" + android:textColor="@color/white" + android:textSize="30sp" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file -- 2.47.2 From 23d23bead4ef5b8194d32a1bf259c92782eec7a3 Mon Sep 17 00:00:00 2001 From: Sem van der Hoeven Date: Mon, 14 Dec 2020 12:13:15 +0100 Subject: [PATCH 023/224] added location dao and repository --- .../com/a1/nextlocation/data/Location.java | 20 ++++++++++++- .../java/com/a1/nextlocation/data/Route.java | 2 +- .../com/a1/nextlocation/data/db/Database.java | 8 ++++- .../nextlocation/data/db/dao/LocationDao.java | 27 +++++++++++++++++ .../db/repositories/LocationRepository.java | 30 +++++++++++++++++++ 5 files changed, 84 insertions(+), 3 deletions(-) create mode 100644 app/src/main/java/com/a1/nextlocation/data/db/dao/LocationDao.java create mode 100644 app/src/main/java/com/a1/nextlocation/data/db/repositories/LocationRepository.java diff --git a/app/src/main/java/com/a1/nextlocation/data/Location.java b/app/src/main/java/com/a1/nextlocation/data/Location.java index c1a822f..5f839ad 100644 --- a/app/src/main/java/com/a1/nextlocation/data/Location.java +++ b/app/src/main/java/com/a1/nextlocation/data/Location.java @@ -1,15 +1,33 @@ package com.a1.nextlocation.data; +import androidx.annotation.NonNull; +import androidx.room.Entity; +import androidx.room.PrimaryKey; + +import org.jetbrains.annotations.NotNull; + +@Entity(tableName = "location") public class Location { + + @PrimaryKey + @NonNull private String name; + private String coordinates; private String description; + public Location(@NotNull String name, String coordinates, String description) { + this.name = name; + this.coordinates = coordinates; + this.description = description; + } + + @NotNull public String getName() { return name; } - public void setName(String name) { + public void setName(@NotNull String name) { this.name = name; } diff --git a/app/src/main/java/com/a1/nextlocation/data/Route.java b/app/src/main/java/com/a1/nextlocation/data/Route.java index 5223e66..c1d1bf0 100644 --- a/app/src/main/java/com/a1/nextlocation/data/Route.java +++ b/app/src/main/java/com/a1/nextlocation/data/Route.java @@ -10,7 +10,7 @@ import org.jetbrains.annotations.NotNull; import java.util.ArrayList; import java.util.List; -@Entity +@Entity(tableName = "route") public class Route { @PrimaryKey diff --git a/app/src/main/java/com/a1/nextlocation/data/db/Database.java b/app/src/main/java/com/a1/nextlocation/data/db/Database.java index e7c97a7..7ab918c 100644 --- a/app/src/main/java/com/a1/nextlocation/data/db/Database.java +++ b/app/src/main/java/com/a1/nextlocation/data/db/Database.java @@ -8,18 +8,24 @@ import androidx.room.RoomDatabase; import androidx.sqlite.db.SupportSQLiteDatabase; import com.a1.nextlocation.data.Coupon; +import com.a1.nextlocation.data.Location; import com.a1.nextlocation.data.Route; import com.a1.nextlocation.data.db.dao.CouponDao; +import com.a1.nextlocation.data.db.dao.LocationDao; import com.a1.nextlocation.data.db.dao.RouteDao; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; -@androidx.room.Database(entities = {Coupon.class,Route.class},version = 1,exportSchema = false) +/** + * @author Sem + */ +@androidx.room.Database(entities = {Coupon.class,Route.class, Location.class},version = 1,exportSchema = false) public abstract class Database extends RoomDatabase { public abstract RouteDao routeDao(); public abstract CouponDao couponDao(); + public abstract LocationDao locationDao(); private static volatile Database INSTANCE; private static final int NUMBER_OF_THREADS = 4; diff --git a/app/src/main/java/com/a1/nextlocation/data/db/dao/LocationDao.java b/app/src/main/java/com/a1/nextlocation/data/db/dao/LocationDao.java new file mode 100644 index 0000000..c0da25c --- /dev/null +++ b/app/src/main/java/com/a1/nextlocation/data/db/dao/LocationDao.java @@ -0,0 +1,27 @@ +package com.a1.nextlocation.data.db.dao; + +import androidx.lifecycle.LiveData; +import androidx.room.Dao; +import androidx.room.Insert; +import androidx.room.OnConflictStrategy; +import androidx.room.Query; + +import com.a1.nextlocation.data.Location; + +import java.util.List; + +@Dao +public interface LocationDao { + @Insert(onConflict = OnConflictStrategy.REPLACE) + void insertAll(Location... locations); + + @Query("DELETE FROM location") + void deleteAll(); + + @Query("SELECT * FROM location") + LiveData> selectAll(); + + @Query("SELECT * FROM location WHERE name = :name LIMIT 1") + Location getLocationByName(String name); + +} diff --git a/app/src/main/java/com/a1/nextlocation/data/db/repositories/LocationRepository.java b/app/src/main/java/com/a1/nextlocation/data/db/repositories/LocationRepository.java new file mode 100644 index 0000000..7cdb548 --- /dev/null +++ b/app/src/main/java/com/a1/nextlocation/data/db/repositories/LocationRepository.java @@ -0,0 +1,30 @@ +package com.a1.nextlocation.data.db.repositories; + +import android.content.Context; + +import androidx.lifecycle.LiveData; + +import com.a1.nextlocation.data.Location; +import com.a1.nextlocation.data.db.Database; +import com.a1.nextlocation.data.db.dao.LocationDao; + +import java.util.List; + +public class LocationRepository { + private LocationDao mLocationDao; + private LiveData> mAllLocations; + + public LocationRepository(Context context) { + Database db = Database.getDatabase(context); + mLocationDao = db.locationDao(); + mAllLocations = mLocationDao.selectAll(); + } + + public LiveData> getAllLocations() { + return mAllLocations; + } + + public Location getLocationByName(String name) { + return mLocationDao.getLocationByName(name); + } +} -- 2.47.2 From 6b97c21a8b266a5d35f1d5f4a1153e5a8e53241d Mon Sep 17 00:00:00 2001 From: Sem van der Hoeven Date: Mon, 14 Dec 2020 12:16:39 +0100 Subject: [PATCH 024/224] added ignores to fields that dont need to be in the database --- app/src/main/java/com/a1/nextlocation/data/Data.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/app/src/main/java/com/a1/nextlocation/data/Data.java b/app/src/main/java/com/a1/nextlocation/data/Data.java index a16b52e..fa53418 100644 --- a/app/src/main/java/com/a1/nextlocation/data/Data.java +++ b/app/src/main/java/com/a1/nextlocation/data/Data.java @@ -1,5 +1,7 @@ package com.a1.nextlocation.data; +import androidx.room.Ignore; + import java.util.List; public class Data { @@ -7,8 +9,14 @@ public class Data { private int locationsVisited; private int totalTime; private List couponList; + + @Ignore private Location nextLocation; + + @Ignore private Location lastLocation; + + @Ignore private Route currentRoute; -- 2.47.2 From a2365d1c1946199c860a1e87d4c20dc3733a2eef Mon Sep 17 00:00:00 2001 From: Robin Koedood Date: Mon, 14 Dec 2020 12:20:51 +0100 Subject: [PATCH 025/224] [ADD] Statistieken en settings fragments --- app/src/main/res/layout/fragment_settings.xml | 13 +- .../main/res/layout/fragment_statistic.xml | 224 +++++++++++++++++- 2 files changed, 228 insertions(+), 9 deletions(-) diff --git a/app/src/main/res/layout/fragment_settings.xml b/app/src/main/res/layout/fragment_settings.xml index 34cd007..c1ad1cb 100644 --- a/app/src/main/res/layout/fragment_settings.xml +++ b/app/src/main/res/layout/fragment_settings.xml @@ -7,6 +7,16 @@ android:background="@color/primaryColour" tools:context=".fragments.SettingsFragment"> +