diff --git a/app/build.gradle b/app/build.gradle index 946a344..2aa2370 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,12 +1,12 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 27 + compileSdkVersion 28 buildToolsVersion '27.0.3' defaultConfig { applicationId "de.sebse.fuplanner" minSdkVersion 15 - targetSdkVersion 27 + targetSdkVersion 28 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" @@ -27,23 +27,24 @@ android { dependencies { - implementation 'com.android.support:recyclerview-v7:27.1.1' + implementation 'com.android.support:recyclerview-v7:28.0.0-beta01' implementation fileTree(include: ['*.jar'], dir: 'libs') androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) - implementation 'com.android.support:appcompat-v7:27.1.1' - implementation 'com.android.support:design:27.1.1' + implementation 'com.android.support:appcompat-v7:28.0.0-beta01' + implementation 'com.android.support:preference-v7:28.0.0-beta01' + implementation 'com.android.support:design:28.0.0-beta01' implementation 'com.android.support.constraint:constraint-layout:1.1.2' implementation 'com.android.volley:volley:1.0.0' //noinspection GradleDependency implementation 'com.google.android.gms:play-services-auth:15.0.0' - implementation 'com.android.support:support-v4:27.1.1' + implementation 'com.android.support:support-v4:28.0.0-beta01' testImplementation 'junit:junit:4.12' implementation fileTree(include: ['*.jar'], dir: 'libs') - implementation 'com.android.support:appcompat-v7:27.1.1' + implementation 'com.android.support:appcompat-v7:28.0.0-beta01' implementation 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2' - implementation 'com.android.support:support-v4:27.1.1' + implementation 'com.android.support:support-v4:28.0.0-beta01' implementation 'org.jetbrains:annotations-java5:15.0' //implementation 'com.github.quivr:android-week-view:2.0.2'//com.github.alamkanak:android-week-view:1.2.6 implementation 'com.ms-square:expandableTextView:0.1.4' diff --git a/app/src/main/java/de/sebse/fuplanner/MainActivity.java b/app/src/main/java/de/sebse/fuplanner/MainActivity.java index 8bf648a..b072e7f 100644 --- a/app/src/main/java/de/sebse/fuplanner/MainActivity.java +++ b/app/src/main/java/de/sebse/fuplanner/MainActivity.java @@ -23,6 +23,7 @@ import java.util.Iterator; import de.sebse.fuplanner.fragments.CanteensFragment; import de.sebse.fuplanner.fragments.LoginFragment; import de.sebse.fuplanner.fragments.ModulesFragment; +import de.sebse.fuplanner.fragments.PrefsFragment; import de.sebse.fuplanner.fragments.ScheduleFragment; import de.sebse.fuplanner.fragments.StartupFragment; import de.sebse.fuplanner.fragments.canteen.DaySwitcherFragment; @@ -51,6 +52,7 @@ public class MainActivity extends AppCompatActivity private static final int FRAGMENT_SCHEDULE = 4; private static final int FRAGMENT_CANTEENS = 5; private static final int FRAGMENT_CANTEENS_DETAILS = 6; + private static final int FRAGMENT_PREFERENCES = 7; private static final String ARG_FRAGMENT_PAGE = "fragment_page"; private static final String ARG_FRAGMENT_STATUS = "fragment_status"; @@ -156,7 +158,6 @@ public class MainActivity extends AppCompatActivity return super.onOptionsItemSelected(item); } - @SuppressWarnings("StatementWithEmptyBody") @Override public boolean onNavigationItemSelected(@NonNull MenuItem item) { // Handle navigation view item clicks here. @@ -172,6 +173,9 @@ public class MainActivity extends AppCompatActivity case R.id.nav_dining: changeFragment(FRAGMENT_CANTEENS); break; + case R.id.nav_settings: + changeFragment(FRAGMENT_PREFERENCES); + break; case R.id.nav_share: Intent sendIntent = new Intent(); sendIntent.setAction(Intent.ACTION_SEND); @@ -307,6 +311,9 @@ public class MainActivity extends AppCompatActivity case FRAGMENT_CANTEENS_DETAILS: fragment = DaySwitcherFragment.newInstance(Integer.parseInt(newData)); break; + case FRAGMENT_PREFERENCES: + fragment = PrefsFragment.newInstance(); + break; default: // FRAGMENT_STARTUP fragment = StartupFragment.newInstance(); break; diff --git a/app/src/main/java/de/sebse/fuplanner/fragments/PrefsFragment.java b/app/src/main/java/de/sebse/fuplanner/fragments/PrefsFragment.java new file mode 100644 index 0000000..d2dbc1f --- /dev/null +++ b/app/src/main/java/de/sebse/fuplanner/fragments/PrefsFragment.java @@ -0,0 +1,22 @@ +package de.sebse.fuplanner.fragments; + +import android.os.Bundle; +import android.support.v7.preference.PreferenceFragmentCompat; + +import de.sebse.fuplanner.R; + +public class PrefsFragment extends PreferenceFragmentCompat { + + public static PrefsFragment newInstance() { + PrefsFragment fragment = new PrefsFragment(); + Bundle args = new Bundle(); + fragment.setArguments(args); + return fragment; + } + + @Override + public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { + // Load the preferences from an XML resource + setPreferencesFromResource(R.xml.preferences, rootKey); + } +} \ 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 2be075a..327a85f 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -47,4 +47,5 @@ Location: %1$s Module: %1$s Close + root_preferences diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml new file mode 100644 index 0000000..c3068ea --- /dev/null +++ b/app/src/main/res/xml/preferences.xml @@ -0,0 +1,12 @@ + + + + + + + + \ No newline at end of file