Merge branch 'Tests' of https://github.com/SemvdH/Next-Location into Tests

# Conflicts:
#	app/src/main/res/layout/fragment_settings.xml
This commit is contained in:
Bipin
2021-01-05 13:27:46 +01:00
28 changed files with 291 additions and 171 deletions

View File

@@ -0,0 +1,47 @@
package com.a1.nextlocation;
import androidx.test.espresso.Root;
import androidx.test.espresso.contrib.RecyclerViewActions;
import androidx.test.espresso.matcher.RootMatchers;
import androidx.test.espresso.matcher.ViewMatchers;
import androidx.test.rule.ActivityTestRule;
import com.a1.nextlocation.fragments.CouponFragment;
import com.a1.nextlocation.fragments.LocationFragment;
import org.junit.Rule;
import org.junit.Test;
import static androidx.test.espresso.Espresso.onView;
import static androidx.test.espresso.action.ViewActions.click;
import static androidx.test.espresso.assertion.ViewAssertions.matches;
import static androidx.test.espresso.matcher.ViewMatchers.isChecked;
import static androidx.test.espresso.matcher.ViewMatchers.isClickable;
import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
import static androidx.test.espresso.matcher.ViewMatchers.withContentDescription;
import static androidx.test.espresso.matcher.ViewMatchers.withId;
import static androidx.test.espresso.matcher.ViewMatchers.withText;
public class CouponFragmentTest {
@Rule
public ActivityTestRule<MainActivity> mActivityTestRule = new ActivityTestRule<>(MainActivity.class);
@Test
public void clickBackButton() throws Exception{
mActivityTestRule.getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.mainActivity, new CouponFragment()).commit();
onView(withId(R.id.coupon_back_button)).perform(click());
onView(withId(R.id.statisticsFragment)).check(matches(isDisplayed()));
}
@Test
public void clickDetailButton() throws Exception{
mActivityTestRule.getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.mainActivity, new CouponFragment()).commit();
onView(withId(R.id.coupon_recyclerview)).perform(RecyclerViewActions.actionOnItemAtPosition(1, click()));
onView(withText("activeren")).inRoot(RootMatchers.isDialog()).perform(click());
onView(withText("Klaar")).inRoot(RootMatchers.isDialog()).check(matches(isDisplayed()));
}
}

View File

@@ -0,0 +1,26 @@
package com.a1.nextlocation;
import androidx.test.rule.ActivityTestRule;
import com.a1.nextlocation.fragments.CouponFragment;
import org.junit.Rule;
import org.junit.Test;
import static androidx.test.espresso.Espresso.onView;
import static androidx.test.espresso.action.ViewActions.click;
import static androidx.test.espresso.assertion.ViewAssertions.matches;
import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
import static androidx.test.espresso.matcher.ViewMatchers.withId;
public class LocationDetailFragment {
@Rule
public ActivityTestRule<MainActivity> mActivityTestRule = new ActivityTestRule<>(MainActivity.class);
@Test
public void clickBackButton() throws Exception{
mActivityTestRule.getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.mainActivity, new com.a1.nextlocation.fragments.LocationDetailFragment()).commit();
onView(withId(R.id.detail_location_back_button)).perform(click());
onView(withId(R.id.locationFragment)).check(matches(isDisplayed()));
}
}

View File

@@ -25,14 +25,14 @@ public class LocationFragmentTest {
@Test
public void clickBackButton() throws Exception{
mActivityTestRule.getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.mainActivity, new LocationFragment()).commit();
onView(withId(R.id.locationBackButton)).perform(click());
onView(withId(R.id.location_back_button)).perform(click());
onView(withId(R.id.homeFragment)).check(matches(isDisplayed()));
}
@Test
public void clickDetailButton() throws Exception{
mActivityTestRule.getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.mainActivity, new LocationFragment()).commit();
onView(withId(R.id.locationRecyclerView)).perform(RecyclerViewActions.actionOnItemAtPosition(1, click()));
onView(withId(R.id.location_recyclerview)).perform(RecyclerViewActions.actionOnItemAtPosition(1, click()));
onView(withId(R.id.locationDetailFragment)).check(matches(isDisplayed()));
}

View File

@@ -0,0 +1,37 @@
package com.a1.nextlocation;
import androidx.test.espresso.contrib.RecyclerViewActions;
import androidx.test.rule.ActivityTestRule;
import com.a1.nextlocation.fragments.LocationFragment;
import com.a1.nextlocation.fragments.RouteFragment;
import org.junit.Rule;
import org.junit.Test;
import static androidx.test.espresso.Espresso.onView;
import static androidx.test.espresso.action.ViewActions.click;
import static androidx.test.espresso.assertion.ViewAssertions.matches;
import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
import static androidx.test.espresso.matcher.ViewMatchers.withId;
public class RouteFragmentTest {
@Rule
public ActivityTestRule<MainActivity> mActivityTestRule = new ActivityTestRule<>(MainActivity.class);
@Test
public void clickBackButton() throws Exception{
mActivityTestRule.getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.mainActivity, new RouteFragment()).commit();
onView(withId(R.id.route_back_button)).perform(click());
onView(withId(R.id.homeFragment)).check(matches(isDisplayed()));
}
@Test
public void clickDetailButton() throws Exception{
mActivityTestRule.getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.mainActivity, new RouteFragment()).commit();
onView(withId(R.id.route_recyclerview)).perform(RecyclerViewActions.actionOnItemAtPosition(0, click()));
onView(withId(R.id.routeDetailFragment)).check(matches(isDisplayed()));
}
}

View File

@@ -1,9 +1,7 @@
package com.a1.nextlocation;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentTransaction;
import android.os.Bundle;
import android.util.Log;
@@ -38,7 +36,7 @@ public class MainActivity extends AppCompatActivity {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
BottomNavigationView bottomNav = findViewById(R.id.navbar);
BottomNavigationView bottomNav = findViewById(R.id.navigation_bar);
bottomNav.setOnNavigationItemSelectedListener(navListener);

View File

@@ -1,7 +1,6 @@
package com.a1.nextlocation.fragments;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import androidx.fragment.app.Fragment;
@@ -38,11 +37,11 @@ public class CouponFragment extends Fragment {
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_coupon, container, false);
this.couponRecyclerView = view.findViewById(R.id.couponRecyclerView);
this.couponRecyclerView = view.findViewById(R.id.coupon_recyclerview);
this.couponRecyclerView.setHasFixedSize(true);
this.layoutManager = new LinearLayoutManager(this.getContext());
this.imageButton = view.findViewById(R.id.couponBackButton);
this.imageButton = view.findViewById(R.id.coupon_back_button);
this.imageButton.setOnClickListener(v -> {
StatisticFragment statisticFragment = new StatisticFragment();
((FragmentActivity) view.getContext()).getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, statisticFragment).addToBackStack(null).commit();

View File

@@ -5,7 +5,6 @@ package com.a1.nextlocation.fragments;
import android.Manifest;
import android.content.Context;
import android.content.pm.PackageManager;
import android.content.res.Resources;
import android.location.Location;
import android.location.LocationManager;
import android.os.Bundle;
@@ -23,17 +22,13 @@ import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity;
import com.a1.nextlocation.R;
import com.a1.nextlocation.data.Route;
import com.a1.nextlocation.recyclerview.CouponListManager;
import com.a1.nextlocation.recyclerview.CustomOverlay;
import com.a1.nextlocation.recyclerview.LocationListManager;
import com.a1.nextlocation.recyclerview.RouteListManager;
import org.osmdroid.api.IMapController;
import org.osmdroid.config.Configuration;
import org.osmdroid.util.GeoPoint;
import org.osmdroid.views.MapView;
import org.osmdroid.views.overlay.Overlay;
import org.osmdroid.views.overlay.OverlayItem;
import org.osmdroid.views.overlay.compass.CompassOverlay;
import org.osmdroid.views.overlay.compass.InternalCompassOrientationProvider;
@@ -87,7 +82,7 @@ public class HomeFragment extends Fragment {
Configuration.getInstance().setUserAgentValue(userAgent);
// create the map view
mapView = view.findViewById(R.id.mapView);
mapView = view.findViewById(R.id.map_view);
mapView.setDestroyMode(false);
mapView.setTag("mapView");
mapView.setMultiTouchControls(true);

View File

@@ -19,20 +19,17 @@ public class LocationDetailFragment extends Fragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_location_detail, container, false);
//
// this.imageButton = view.findViewById(R.id.detail_location_back_button);
// this.imageButton.setOnClickListener(v -> {
// LocationFragment locationFragment = new LocationFragment();
// ((FragmentActivity) view.getContext()).getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, locationFragment).addToBackStack(null).commit();
// });
this.imageButton = view.findViewById(R.id.detail_location_back_button);
this.imageButton.setOnClickListener(v -> {
LocationFragment locationFragment = new LocationFragment();
((FragmentActivity) view.getContext()).getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, locationFragment).addToBackStack(null).commit();
});
return view;
}

View File

@@ -14,11 +14,9 @@ import android.widget.ImageButton;
import com.a1.nextlocation.R;
import com.a1.nextlocation.data.Location;
import com.a1.nextlocation.recyclerview.CouponAdapter;
import com.a1.nextlocation.recyclerview.LocationAdapter;
import com.a1.nextlocation.recyclerview.LocationListManager;
import java.util.ArrayList;
import java.util.List;
public class LocationFragment extends Fragment {
@@ -38,11 +36,11 @@ public class LocationFragment extends Fragment {
View view = inflater.inflate(R.layout.fragment_location, container, false);
this.locationRecyclerView = view.findViewById(R.id.locationRecyclerView);
this.locationRecyclerView = view.findViewById(R.id.location_recyclerview);
this.locationRecyclerView.setHasFixedSize(true);
this.layoutManager = new LinearLayoutManager(this.getContext());
this.imageButton = view.findViewById(R.id.locationBackButton);
this.imageButton = view.findViewById(R.id.location_back_button);
this.imageButton.setOnClickListener(v -> {
HomeFragment homeFragment = new HomeFragment();
((FragmentActivity) view.getContext()).getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, homeFragment).addToBackStack(null).commit();

View File

@@ -3,10 +3,12 @@ package com.a1.nextlocation.fragments;
import android.os.Bundle;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageButton;
import android.widget.TextView;
import com.a1.nextlocation.R;
@@ -16,6 +18,7 @@ public class RouteDetailFragment extends Fragment {
private Route route;
private TextView routeDetailText;
private ImageButton imageButton;
@Override
public void onCreate(Bundle savedInstanceState) {
@@ -33,6 +36,12 @@ public class RouteDetailFragment extends Fragment {
this.routeDetailText = view.findViewById(R.id.routeDetailText);
this.routeDetailText.setText(this.route.getName());
this.imageButton = view.findViewById(R.id.route_detail_back_button);
this.imageButton.setOnClickListener(v -> {
RouteFragment routeFragment = new RouteFragment();
((FragmentActivity) view.getContext()).getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, routeFragment).addToBackStack(null).commit();
});
return view;
}

View File

@@ -13,13 +13,13 @@ import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageButton;
import com.a1.nextlocation.R;
import com.a1.nextlocation.data.Route;
import com.a1.nextlocation.recyclerview.RouteAdapter;
import com.a1.nextlocation.recyclerview.RouteListManager;
import java.util.ArrayList;
import java.util.List;
import com.a1.nextlocation.data.Location;
import com.a1.nextlocation.data.Route;
@@ -34,6 +34,7 @@ public class RouteFragment extends Fragment {
private RecyclerView.LayoutManager layoutManager;
private List<Route> routeList;
private RouteAdapter routeAdapter;
private ImageButton imageButton;
@Override
public void onCreate(Bundle savedInstanceState) {
@@ -46,7 +47,7 @@ public class RouteFragment extends Fragment {
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_route, container, false);
this.routeRecyclerView = view.findViewById(R.id.routeRecyclerView);
this.routeRecyclerView = view.findViewById(R.id.route_recyclerview);
this.routeRecyclerView.setHasFixedSize(true);
this.layoutManager = new LinearLayoutManager(this.getContext());
@@ -62,6 +63,12 @@ public class RouteFragment extends Fragment {
((FragmentActivity) view.getContext()).getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, routeDetailFragment).addToBackStack(null).commit();
});
this.imageButton = view.findViewById(R.id.route_back_button);
this.imageButton.setOnClickListener(v -> {
HomeFragment homeFragment = new HomeFragment();
((FragmentActivity) view.getContext()).getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, homeFragment).addToBackStack(null).commit();
});
this.routeRecyclerView.setLayoutManager(this.layoutManager);
this.routeRecyclerView.setAdapter(this.routeAdapter);
return view;

View File

@@ -5,11 +5,13 @@ import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.Spinner;
import com.a1.nextlocation.MainActivity;
@@ -17,6 +19,8 @@ import com.a1.nextlocation.R;
public class SettingsFragment extends Fragment {
private ImageView imageButton;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -36,6 +40,12 @@ public class SettingsFragment extends Fragment {
// Inflate the layout for this fragment
Spinner dropdown = view.findViewById(R.id.dropdown_menu_Settings);
this.imageButton = view.findViewById(R.id.route_detail_back_button);
this.imageButton.setOnClickListener(v -> {
HomeFragment homeFragment = new HomeFragment();
((FragmentActivity) view.getContext()).getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, homeFragment).addToBackStack(null).commit();
});
String[] items = new String[]{"Nederlands", "Engels", "Chinees"};
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(getActivity(), android.R.layout.simple_spinner_dropdown_item, items);

View File

@@ -12,7 +12,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="Locatie detail"
android:text="@string/locatie_detail"
android:textColor="@color/white"
android:textSize="30sp"
app:layout_constraintEnd_toEndOf="parent"
@@ -35,7 +35,7 @@
android:layout_height="283dp"
android:layout_marginEnd="30dp"
android:background="@color/secondaryColour"
android:text="Detail tekst"
android:text="@string/locatie_detail_tekst"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/detail_location_name" />

View File

@@ -7,20 +7,33 @@
android:background="@color/primaryColour"
tools:context=".fragments.RouteDetailFragment">
<Button
android:id="@+id/start_route_button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:backgroundTint="@color/secondaryColour"
android:text="@string/start_route"
android:textColor="@color/buttonColour"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/routeDetailText"
app:layout_constraintStart_toStartOf="@+id/routeDetailText"
app:layout_constraintTop_toBottomOf="@+id/routeDetailText"
app:layout_constraintVertical_bias="0.873" />
<ImageButton
android:id="@+id/routeDetailBackButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:background="@drawable/ic_back_button_24"
app:layout_constraintBottom_toBottomOf="@+id/routeTitle"
app:layout_constraintBottom_toBottomOf="@+id/route_title"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/routeTitle"
app:layout_constraintEnd_toStartOf="@id/routeTitle"
app:layout_constraintTop_toTopOf="@+id/route_title"
app:layout_constraintEnd_toStartOf="@id/route_title"
/>
<TextView
android:id="@+id/routeTitle"
android:id="@+id/route_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="250dp"
@@ -54,30 +67,4 @@
app:layout_constraintStart_toEndOf="@id/routeDetailImage"
app:layout_constraintTop_toTopOf="parent" />
<ImageButton
android:id="@+id/startRouteButton"
android:src="@drawable/ic_baseline_play_arrow_24"
android:backgroundTint="@color/primaryColour"
android:scaleX="5"
android:scaleY="5"
android:layout_width="70dp"
android:layout_height="70dp"
android:layout_marginStart="350dp"
app:layout_constraintBottom_toBottomOf="@+id/startRouteText"
app:layout_constraintEnd_toStartOf="@id/startRouteText"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/startRouteText" />
<TextView
android:id="@+id/startRouteText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_marginBottom="20dp"
android:text="@string/start_route"
android:textSize="50sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/startRouteButton"
app:layout_constraintTop_toBottomOf="@id/routeDetailImage" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -11,15 +11,15 @@
android:id="@+id/fragment_layout"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintTop_toBottomOf="@+id/topBar"
app:layout_constraintBottom_toTopOf="@id/navbar"
app:layout_constraintTop_toBottomOf="@+id/top_bar"
app:layout_constraintBottom_toTopOf="@id/navigation_bar"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
/>
<com.google.android.material.bottomnavigation.BottomNavigationView
android:showAsAction="always|withText"
android:id="@+id/navbar"
android:id="@+id/navigation_bar"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@color/white"
@@ -32,7 +32,7 @@
/>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/topBar"
android:id="@+id/top_bar"
android:layout_width="match_parent"
android:layout_height="50dp"
app:layout_constraintTop_toTopOf="parent"
@@ -42,27 +42,27 @@
android:background="@color/primaryColour"/>
<ImageButton
android:id="@+id/infoButton"
android:id="@+id/info_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_baseline_info_24"
android:backgroundTint="@color/primaryColour"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/topBar"
app:layout_constraintBottom_toBottomOf="@id/topBar"
app:layout_constraintTop_toTopOf="@id/top_bar"
app:layout_constraintBottom_toBottomOf="@id/top_bar"
android:tint="@color/secondaryColour"
/>
<TextView
android:id="@+id/text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintStart_toEndOf="@id/infoButton"
app:layout_constraintTop_toTopOf="@id/topBar"
app:layout_constraintBottom_toBottomOf="@id/topBar"
android:text="@string/app_name"
android:textSize="25dp"
android:textColor="@color/secondaryColour"
/>
android:textSize="25sp"
app:layout_constraintBottom_toBottomOf="@id/top_bar"
app:layout_constraintStart_toEndOf="@id/info_button"
app:layout_constraintTop_toTopOf="@id/top_bar" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -6,7 +6,7 @@
android:layout_height="wrap_content">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/Box1"
android:id="@+id/name_box"
android:layout_width="match_parent"
android:layout_height="70dp"
android:layout_marginHorizontal="20dp"
@@ -25,7 +25,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:text="Naam"
android:text="@string/naam"
android:textColor="@color/black"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="parent"

View File

@@ -13,28 +13,30 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="9dp"
android:text="Statistics"
android:layout_marginTop="20dp"
android:text="@string/statistieken"
android:textSize="20sp"
app:layout_constraintStart_toEndOf="@id/couponBackButton"
app:layout_constraintStart_toEndOf="@id/coupon_back_button"
app:layout_constraintTop_toTopOf="parent" />
<ImageButton
android:id="@+id/couponBackButton"
android:id="@+id/coupon_back_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="12dp"
android:background="@drawable/ic_back_button_24"
android:backgroundTint="@color/buttonColour"
android:text="Back"
android:layout_margin="10dp"
android:text="@string/terug"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.recyclerview.widget.RecyclerView
android:layout_width="0dp"
android:layout_height="0dp"
android:id="@+id/couponRecyclerView"
android:id="@+id/coupon_recyclerview"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/couponBackButton" />
app:layout_constraintTop_toBottomOf="@+id/coupon_back_button" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -7,9 +7,8 @@
android:id="@+id/homeFragment"
tools:context=".fragments.HomeFragment">
<org.osmdroid.views.MapView
android:id="@+id/mapView"
android:id="@+id/map_view"
android:layout_width="match_parent"
android:layout_height="match_parent">
@@ -25,6 +24,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_marginEnd="20dp"
android:backgroundTint="@color/secondaryColour"
android:src="@drawable/ic_baseline_outlined_flag_24"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />

View File

@@ -13,28 +13,31 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="9dp"
android:text="Locations"
android:layout_marginTop="20dp"
android:text="@string/locaties"
android:textSize="20sp"
app:layout_constraintStart_toEndOf="@id/locationBackButton"
app:layout_constraintStart_toEndOf="@id/location_back_button"
app:layout_constraintTop_toTopOf="parent" />
<ImageButton
android:id="@+id/locationBackButton"
android:id="@+id/location_back_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="12dp"
android:background="@drawable/ic_back_button_24"
android:backgroundTint="@color/buttonColour"
android:text="Back"
android:layout_margin="10dp"
android:text="@string/terug"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.recyclerview.widget.RecyclerView
android:layout_width="0dp"
android:layout_height="0dp"
android:id="@+id/locationRecyclerView"
app:layout_constraintBottom_toBottomOf="parent"
android:id="@+id/location_recyclerview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="60dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/locationBackButton" />
app:layout_constraintTop_toBottomOf="@+id/location_RV" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -13,7 +13,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="Locatie detail"
android:text="@string/locatie_detail"
android:textColor="@color/white"
android:textSize="30sp"
app:layout_constraintEnd_toEndOf="parent"
@@ -36,7 +36,7 @@
android:layout_margin="20dp"
android:layout_height="wrap_content"
android:background="@color/secondaryColour"
android:text="Detail tekst"
android:text="@string/locatie_detail_tekst"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/detail_location_image" />
@@ -45,11 +45,11 @@
android:id="@+id/detail_location_back_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_back_button_24"
android:layout_marginStart="10dp"
android:layout_marginTop="12dp"
android:backgroundTint="@color/primaryColour"
app:layout_constraintBottom_toBottomOf="@+id/detail_location_name"
app:layout_constraintEnd_toStartOf="@+id/detail_location_name"
android:src="@drawable/ic_back_button_24"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/detail_location_name" />
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -9,7 +9,7 @@
tools:context=".fragments.RouteFragment">
<ImageButton
android:id="@+id/routeBackButton"
android:id="@+id/route_back_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
@@ -19,23 +19,23 @@
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/routeTitle"
android:id="@+id/route_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="9dp"
android:text="titel"
android:text="@string/titel"
android:textSize="20sp"
app:layout_constraintStart_toEndOf="@id/routeBackButton"
app:layout_constraintStart_toEndOf="@id/route_back_button"
app:layout_constraintTop_toTopOf="parent" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/routeRecyclerView"
android:id="@+id/route_recyclerview"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@color/primaryColour"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/routeBackButton" />
app:layout_constraintTop_toBottomOf="@+id/route_back_button" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -9,21 +9,20 @@
tools:context=".fragments.RouteDetailFragment">
<ImageButton
android:id="@+id/routeDetailBackButton"
android:id="@+id/route_detail_back_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="100dp"
android:layout_marginStart="20dp"
android:layout_marginTop="20dp"
android:background="@drawable/ic_back_button_24"
app:layout_constraintBottom_toBottomOf="@id/routeTitle"
app:layout_constraintEnd_toStartOf="@id/routeTitle"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/routeTitle" />
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/routeTitle"
android:id="@+id/route_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="titel"
android:text="@string/titel"
android:textSize="20sp"
app:layout_constraintBottom_toTopOf="@+id/routeDetailImage"
app:layout_constraintEnd_toEndOf="parent"
@@ -35,7 +34,7 @@
android:layout_height="250dp"
android:layout_margin="40dp"
android:id="@+id/routeDetailImage"
app:layout_constraintTop_toBottomOf="@id/routeDetailBackButton"
app:layout_constraintTop_toBottomOf="@id/route_detail_back_button"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toTopOf="@id/routeDetailText"
@@ -47,36 +46,24 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="20dp"
android:layout_marginBottom="100dp"
app:layout_constraintBottom_toTopOf="@id/startRouteText"
android:layout_marginTop="56dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.6"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/routeDetailImage" />
<ImageButton
android:id="@+id/startRouteButton"
android:backgroundTint="@color/primaryColour"
android:scaleX="5"
android:scaleY="5"
android:layout_width="70dp"
android:layout_height="70dp"
android:layout_margin="20dp"
app:layout_constraintBottom_toBottomOf="@+id/startRouteText"
app:layout_constraintEnd_toStartOf="@+id/startRouteText"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/startRouteText"
android:src="@drawable/ic_baseline_play_arrow_24"
/>
<TextView
android:id="@+id/startRouteText"
<Button
android:id="@+id/start_route_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="20dp"
android:text="@string/start_route"
android:textSize="50sp"
android:backgroundTint="@color/secondaryColour"
android:textColor="@color/buttonColour"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/startRouteButton"
app:layout_constraintTop_toBottomOf="@id/routeDetailText" />
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/routeDetailText"
app:layout_constraintVertical_bias="0.671" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -9,22 +9,22 @@
tools:context=".fragments.SettingsFragment">
<androidx.appcompat.widget.AppCompatImageButton
android:id="@+id/settingsBackButton"
android:id="@+id/settings_back_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:backgroundTint="@color/primaryColour"
android:src="@drawable/ic_back_button_24"
app:layout_constraintBottom_toBottomOf="@+id/textView"
app:layout_constraintEnd_toStartOf="@+id/textView"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/textView" />
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="@string/settings"
android:text="@string/instellingen"
android:textColor="@color/white"
android:textSize="30sp"
app:layout_constraintEnd_toEndOf="parent"
@@ -32,7 +32,7 @@
app:layout_constraintTop_toTopOf="parent" />
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/Box1"
android:id="@+id/name_box"
android:layout_width="match_parent"
android:layout_height="70dp"
app:layout_constraintBottom_toTopOf="@id/Box2"
@@ -88,7 +88,7 @@
app:layout_constraintBottom_toTopOf="@id/Box3"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/Box1"
app:layout_constraintTop_toBottomOf="@id/name_box"
>
@@ -115,7 +115,6 @@
app:layout_constraintVertical_bias="0.0" />
<androidx.appcompat.widget.SwitchCompat
android:id="@+id/settingsImperialButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
@@ -160,7 +159,6 @@
app:layout_constraintTop_toTopOf="parent" />
<androidx.appcompat.widget.SwitchCompat
android:id="@+id/settingsOldButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
@@ -207,7 +205,6 @@
/>
<androidx.appcompat.widget.SwitchCompat
android:id="@+id/settingsEyeButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"

View File

@@ -21,7 +21,7 @@
app:layout_constraintTop_toTopOf="parent" />
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/Box1"
android:id="@+id/name_box"
android:layout_width="match_parent"
android:layout_height="70dp"
app:layout_constraintBottom_toTopOf="@id/Box2"
@@ -58,7 +58,7 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" km"
android:text="@string/km"
android:textColor="@color/black"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="parent"
@@ -78,7 +78,7 @@
app:layout_constraintBottom_toTopOf="@id/Box3"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/Box1"
app:layout_constraintTop_toBottomOf="@id/name_box"
>
@@ -106,7 +106,7 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="GETAL"
android:text="@string/getal"
android:textColor="@color/black"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="parent"
@@ -153,7 +153,7 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" minuten"
android:text="@string/minuten"
android:textColor="@color/black"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="parent"
@@ -203,7 +203,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/couponAmount"
android:text="GETAL"
android:text="@string/getal"
android:textColor="@color/black"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="parent"
@@ -213,4 +213,14 @@
</androidx.constraintlayout.widget.ConstraintLayout>
<ImageButton
android:id="@+id/imageButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:src="@drawable/ic_back_button_24"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -19,9 +19,13 @@
android:id="@+id/location_name"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginEnd="294dp"
android:gravity="center"
android:text="location"
android:textSize="20dp"
app:layout_constraintStart_toEndOf="@+id/routeImage" />
android:text="@string/locaties"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="50dp"
xmlns:app="http://schemas.android.com/apk/res-auto"
@@ -10,19 +11,20 @@
<ImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:id="@+id/routeImage"
android:id="@+id/route_Image"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
/>
<TextView
android:id="@+id/route_name"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/route_name"
android:text="test text"
android:gravity="center"
android:textSize="20dp"
app:layout_constraintStart_toEndOf="@+id/routeImage"
/>
android:text="@string/titel"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/route_Image"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -3,7 +3,7 @@
<item
android:id="@+id/locations"
android:title="@string/locations"
android:title="@string/locaties"
android:icon="@drawable/ic_baseline_outlined_flag_24"
/>
@@ -15,13 +15,13 @@
<item
android:id="@+id/statistics"
android:title="@string/statistics"
android:title="@string/statistieken"
android:icon="@drawable/ic_baseline_graphic_eq_24"
/>
<item
android:id="@+id/settings"
android:title="@string/settings"
android:title="@string/instellingen"
android:icon="@drawable/ic_baseline_settings_24"
/>

View File

@@ -1,20 +1,25 @@
<resources>
<string name="app_name">Next Location</string>
<!-- TODO: Remove or change this placeholder text -->
<string name="hello_blank_fragment">Hello blank fragment</string>
<string name="locations">Locaties</string>
<string name="locaties">Locaties</string>
<string name="routes">Routes</string>
<string name="statistics">Statistieken</string>
<string name="settings">Instellingen</string>
<string name="statistieken">Statistieken</string>
<string name="instellingen">Instellingen</string>
<string name="taal">Taal</string>
<string name="imperiaal_systeem">Imperiaal systeem</string>
<string name="_65_stand">65+ stand</string>
<string name="kleurenblind">Kleurenblind</string>
<string name="statistieken">Statistieken</string>
<string name="totale_afstand">Totale afstand:</string>
<string name="bezochte_locaties">Bezochte locaties:</string>
<string name="totale_tijd">Totale tijd:</string>
<string name="coupons_gespaard">Coupons gespaard:</string>
<string name="coupons">Coupons</string>
<string name="start_route">Start Route</string>
<string name="naam">Naam</string>
<string name="terug">Terug</string>
<string name="locatie_detail">Locatie Detail</string>
<string name="locatie_detail_tekst">Detail tekst</string>
<string name="titel">Titel</string>
<string name="km">Kilometer</string>
<string name="getal">Getal</string>
<string name="minuten">Minuten</string>
</resources>