diff --git a/ClimateGoApp/app/src/main/AndroidManifest.xml b/ClimateGoApp/app/src/main/AndroidManifest.xml
index 4555de0..059c05a 100644
--- a/ClimateGoApp/app/src/main/AndroidManifest.xml
+++ b/ClimateGoApp/app/src/main/AndroidManifest.xml
@@ -16,17 +16,6 @@
-
-
-
-
-
-
-
diff --git a/ClimateGoApp/app/src/main/java/de/cdaut/climategoapp/activities/ActivityUtils.java b/ClimateGoApp/app/src/main/java/de/cdaut/climategoapp/activities/ActivityUtils.java
deleted file mode 100644
index 63beadf..0000000
--- a/ClimateGoApp/app/src/main/java/de/cdaut/climategoapp/activities/ActivityUtils.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package de.cdaut.climategoapp.activities;
-
-import android.content.Intent;
-import android.view.MenuItem;
-
-import androidx.annotation.NonNull;
-import androidx.appcompat.app.AppCompatActivity;
-import androidx.drawerlayout.widget.DrawerLayout;
-
-import de.cdaut.climategoapp.R;
-
-public final class ActivityUtils {
- private ActivityUtils() {
- throw new IllegalAccessError("Utility Class");
- }
-
- public static boolean handleNavBarItemClicks(@NonNull MenuItem item,
- AppCompatActivity rootClass,
- DrawerLayout drawer) {
-
- Class extends AppCompatActivity> targetActivityClass;
-
- switch (item.getItemId()) {
- case R.id.nav_main:
- targetActivityClass = HomeActivity.class;
- break;
- case R.id.nav_debug:
- targetActivityClass = DebugActivity.class;
- break;
- default:
- throw new IllegalAccessError("Illegal activity met in nav drawer");
- }
-
- if (targetActivityClass.equals(rootClass.getClass())) {
- drawer.closeDrawers();
- return false;
- }
-
- Intent targetIntent = new Intent(rootClass, targetActivityClass);
- rootClass.startActivity(targetIntent);
-
- return false;
- }
-}
diff --git a/ClimateGoApp/app/src/main/java/de/cdaut/climategoapp/activities/DebugActivity.java b/ClimateGoApp/app/src/main/java/de/cdaut/climategoapp/activities/DebugActivity.java
deleted file mode 100644
index fe92282..0000000
--- a/ClimateGoApp/app/src/main/java/de/cdaut/climategoapp/activities/DebugActivity.java
+++ /dev/null
@@ -1,103 +0,0 @@
-package de.cdaut.climategoapp.activities;
-
-import android.content.Intent;
-import android.os.Bundle;
-
-
-import androidx.annotation.NonNull;
-import androidx.appcompat.app.ActionBarDrawerToggle;
-import androidx.appcompat.app.AppCompatActivity;
-
-import androidx.drawerlayout.widget.DrawerLayout;
-import androidx.navigation.NavController;
-import androidx.navigation.Navigation;
-import androidx.navigation.ui.AppBarConfiguration;
-import androidx.navigation.ui.NavigationUI;
-
-import de.cdaut.climategoapp.R;
-import de.cdaut.climategoapp.databinding.ActivityDebugBinding;
-
-import android.view.Menu;
-import android.view.MenuItem;
-
-import com.google.android.material.navigation.NavigationView;
-
-public class DebugActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener {
-
- private AppBarConfiguration appBarConfiguration;
- private ActivityDebugBinding binding;
- public DrawerLayout drawerLayout;
- public ActionBarDrawerToggle actionBarDrawerToggle;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- binding = ActivityDebugBinding.inflate(getLayoutInflater());
- setContentView(binding.getRoot());
-
- setSupportActionBar(binding.toolbar);
-
-
- // drawer layout instance to toggle the menu icon to open
- // drawer and back button to close drawer
- drawerLayout = findViewById(R.id.debug_drawer_layout);
- actionBarDrawerToggle = new ActionBarDrawerToggle(this,
- drawerLayout,
- R.string.nav_open,
- R.string.nav_close);
-
- // pass the Open and Close toggle for the drawer layout listener
- // to toggle the button
- drawerLayout.addDrawerListener(actionBarDrawerToggle);
- actionBarDrawerToggle.syncState();
-
- // to make the Navigation drawer icon always appear on the action bar
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
-
- setNavigationViewListener();
- }
-
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- // Inflate the menu; this adds items to the action bar if it is present.
- getMenuInflater().inflate(R.menu.menu_main, menu);
- return true;
- }
-
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- // Handle action bar item clicks here. The action bar will
- // automatically handle clicks on the Home/Up button, so long
- // as you specify a parent activity in AndroidManifest.xml.
- int id = item.getItemId();
-
- if (actionBarDrawerToggle.onOptionsItemSelected(item)) {
- return true;
- }
-
- //noinspection SimplifiableIfStatement
- if (id == R.id.action_settings) {
- return true;
- }
-
- return super.onOptionsItemSelected(item);
- }
-
- @Override
- public boolean onSupportNavigateUp() {
- NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment_content_nav);
- return NavigationUI.navigateUp(navController, appBarConfiguration)
- || super.onSupportNavigateUp();
- }
-
- @Override
- public boolean onNavigationItemSelected(@NonNull MenuItem item) {
- return ActivityUtils.handleNavBarItemClicks(item, this, drawerLayout);
- }
-
- private void setNavigationViewListener() {
- NavigationView navigationView = findViewById(R.id.nav_drawer);
- navigationView.setNavigationItemSelectedListener(this);
- }
-}
\ No newline at end of file
diff --git a/ClimateGoApp/app/src/main/java/de/cdaut/climategoapp/activities/HomeActivity.java b/ClimateGoApp/app/src/main/java/de/cdaut/climategoapp/activities/HomeActivity.java
index ebeadd4..89dac34 100644
--- a/ClimateGoApp/app/src/main/java/de/cdaut/climategoapp/activities/HomeActivity.java
+++ b/ClimateGoApp/app/src/main/java/de/cdaut/climategoapp/activities/HomeActivity.java
@@ -1,6 +1,5 @@
package de.cdaut.climategoapp.activities;
-import android.content.Intent;
import android.os.Bundle;
@@ -9,11 +8,14 @@ import androidx.appcompat.app.ActionBarDrawerToggle;
import androidx.appcompat.app.AppCompatActivity;
import androidx.drawerlayout.widget.DrawerLayout;
+import androidx.fragment.app.Fragment;
import androidx.navigation.NavController;
import androidx.navigation.Navigation;
import androidx.navigation.ui.AppBarConfiguration;
import androidx.navigation.ui.NavigationUI;
+import de.cdaut.climategoapp.DebugFragment;
+import de.cdaut.climategoapp.HomeFragment;
import de.cdaut.climategoapp.R;
import de.cdaut.climategoapp.databinding.ActivityHomeBinding;
@@ -52,7 +54,13 @@ public class HomeActivity extends AppCompatActivity implements NavigationView.On
actionBarDrawerToggle.syncState();
// to make the Navigation drawer icon always appear on the action bar
- getSupportActionBar(). setDisplayHomeAsUpEnabled(true);
+ getSupportActionBar().setDisplayHomeAsUpEnabled(true);
+
+ //add the Home Fragment to the Fragment container
+ this.getSupportFragmentManager()
+ .beginTransaction()
+ .replace(R.id.home_act_fragment_container, new HomeFragment())
+ .commit();
setNavigationViewListener();
}
@@ -93,7 +101,30 @@ public class HomeActivity extends AppCompatActivity implements NavigationView.On
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
- return ActivityUtils.handleNavBarItemClicks(item, this, drawerLayout);
+
+ Fragment targetFragment;
+
+ //determine which fragment to switch to
+ switch (item.getItemId()) {
+ case R.id.nav_main:
+ targetFragment = new HomeFragment();
+ break;
+ case R.id.nav_debug:
+ targetFragment = new DebugFragment();
+ break;
+ default:
+ throw new IllegalAccessError("Illegal activity met in nav drawer");
+ }
+
+ //switch to the appropriate Fragment
+ this.getSupportFragmentManager()
+ .beginTransaction()
+ .replace(R.id.home_act_fragment_container, targetFragment)
+ .commit();
+
+ //close the nav drawer after switching fragments
+ this.drawerLayout.closeDrawers();
+ return false;
}
private void setNavigationViewListener() {
diff --git a/ClimateGoApp/app/src/main/res/layout/activity_debug.xml b/ClimateGoApp/app/src/main/res/layout/activity_debug.xml
deleted file mode 100644
index fd9e1af..0000000
--- a/ClimateGoApp/app/src/main/res/layout/activity_debug.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ClimateGoApp/app/src/main/res/layout/activity_home.xml b/ClimateGoApp/app/src/main/res/layout/activity_home.xml
index 1b84f38..f0951c6 100644
--- a/ClimateGoApp/app/src/main/res/layout/activity_home.xml
+++ b/ClimateGoApp/app/src/main/res/layout/activity_home.xml
@@ -21,7 +21,11 @@
android:background="?attr/colorPrimary"
app:popupTheme="@style/Theme.ClimateGoApp.PopupOverlay" />
-
+
+