From 14e6b8b0171601c7392d13c4c79e38c2e55df928 Mon Sep 17 00:00:00 2001 From: Marcin Zelent Date: Thu, 29 Mar 2018 15:58:03 +0200 Subject: Added fragments --- app/src/main/AndroidManifest.xml | 8 +- .../liberavem/AppCompatPreferenceActivity.java | 109 +++++++++ .../org/marcinzelent/liberavem/AtlasFragment.java | 108 +++++++++ .../org/marcinzelent/liberavem/MainActivity.java | 52 +++-- .../liberavem/ObservationsFragment.java | 124 ++++++++++ .../marcinzelent/liberavem/SettingsActivity.java | 254 +++++++++++++++++++++ app/src/main/res/drawable/ic_info_black_24dp.xml | 9 + .../res/drawable/ic_notifications_black_24dp.xml | 9 + app/src/main/res/drawable/ic_sync_black_24dp.xml | 9 + app/src/main/res/layout/app_bar_main.xml | 18 +- app/src/main/res/layout/content_main.xml | 21 -- app/src/main/res/layout/fragment_atlas.xml | 14 ++ app/src/main/res/layout/fragment_observations.xml | 45 ++++ app/src/main/res/menu/main.xml | 7 +- app/src/main/res/values/strings.xml | 78 ++++++- app/src/main/res/xml/pref_data_sync.xml | 21 ++ app/src/main/res/xml/pref_general.xml | 33 +++ app/src/main/res/xml/pref_headers.xml | 20 ++ app/src/main/res/xml/pref_notification.xml | 27 +++ 19 files changed, 915 insertions(+), 51 deletions(-) create mode 100644 app/src/main/java/org/marcinzelent/liberavem/AppCompatPreferenceActivity.java create mode 100644 app/src/main/java/org/marcinzelent/liberavem/AtlasFragment.java create mode 100644 app/src/main/java/org/marcinzelent/liberavem/ObservationsFragment.java create mode 100644 app/src/main/java/org/marcinzelent/liberavem/SettingsActivity.java create mode 100644 app/src/main/res/drawable/ic_info_black_24dp.xml create mode 100644 app/src/main/res/drawable/ic_notifications_black_24dp.xml create mode 100644 app/src/main/res/drawable/ic_sync_black_24dp.xml delete mode 100644 app/src/main/res/layout/content_main.xml create mode 100644 app/src/main/res/layout/fragment_atlas.xml create mode 100644 app/src/main/res/layout/fragment_observations.xml create mode 100644 app/src/main/res/xml/pref_data_sync.xml create mode 100644 app/src/main/res/xml/pref_general.xml create mode 100644 app/src/main/res/xml/pref_headers.xml create mode 100644 app/src/main/res/xml/pref_notification.xml (limited to 'app/src') diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 66db694..c5206f3 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -4,14 +4,13 @@ package="org.marcinzelent.liberavem"> + tools:ignore="AllowBackup,GoogleAppIndexingWarning"> + \ No newline at end of file diff --git a/app/src/main/java/org/marcinzelent/liberavem/AppCompatPreferenceActivity.java b/app/src/main/java/org/marcinzelent/liberavem/AppCompatPreferenceActivity.java new file mode 100644 index 0000000..f63b0b5 --- /dev/null +++ b/app/src/main/java/org/marcinzelent/liberavem/AppCompatPreferenceActivity.java @@ -0,0 +1,109 @@ +package org.marcinzelent.liberavem; + +import android.content.res.Configuration; +import android.os.Bundle; +import android.preference.PreferenceActivity; +import android.support.annotation.LayoutRes; +import android.support.annotation.Nullable; +import android.support.v7.app.ActionBar; +import android.support.v7.app.AppCompatDelegate; +import android.support.v7.widget.Toolbar; +import android.view.MenuInflater; +import android.view.View; +import android.view.ViewGroup; + +/** + * A {@link android.preference.PreferenceActivity} which implements and proxies the necessary calls + * to be used with AppCompat. + */ +public abstract class AppCompatPreferenceActivity extends PreferenceActivity { + + private AppCompatDelegate mDelegate; + + @Override + protected void onCreate(Bundle savedInstanceState) { + getDelegate().installViewFactory(); + getDelegate().onCreate(savedInstanceState); + super.onCreate(savedInstanceState); + } + + @Override + protected void onPostCreate(Bundle savedInstanceState) { + super.onPostCreate(savedInstanceState); + getDelegate().onPostCreate(savedInstanceState); + } + + public ActionBar getSupportActionBar() { + return getDelegate().getSupportActionBar(); + } + + public void setSupportActionBar(@Nullable Toolbar toolbar) { + getDelegate().setSupportActionBar(toolbar); + } + + @Override + public MenuInflater getMenuInflater() { + return getDelegate().getMenuInflater(); + } + + @Override + public void setContentView(@LayoutRes int layoutResID) { + getDelegate().setContentView(layoutResID); + } + + @Override + public void setContentView(View view) { + getDelegate().setContentView(view); + } + + @Override + public void setContentView(View view, ViewGroup.LayoutParams params) { + getDelegate().setContentView(view, params); + } + + @Override + public void addContentView(View view, ViewGroup.LayoutParams params) { + getDelegate().addContentView(view, params); + } + + @Override + protected void onPostResume() { + super.onPostResume(); + getDelegate().onPostResume(); + } + + @Override + protected void onTitleChanged(CharSequence title, int color) { + super.onTitleChanged(title, color); + getDelegate().setTitle(title); + } + + @Override + public void onConfigurationChanged(Configuration newConfig) { + super.onConfigurationChanged(newConfig); + getDelegate().onConfigurationChanged(newConfig); + } + + @Override + protected void onStop() { + super.onStop(); + getDelegate().onStop(); + } + + @Override + protected void onDestroy() { + super.onDestroy(); + getDelegate().onDestroy(); + } + + public void invalidateOptionsMenu() { + getDelegate().invalidateOptionsMenu(); + } + + private AppCompatDelegate getDelegate() { + if (mDelegate == null) { + mDelegate = AppCompatDelegate.create(this, null); + } + return mDelegate; + } +} diff --git a/app/src/main/java/org/marcinzelent/liberavem/AtlasFragment.java b/app/src/main/java/org/marcinzelent/liberavem/AtlasFragment.java new file mode 100644 index 0000000..6a65b26 --- /dev/null +++ b/app/src/main/java/org/marcinzelent/liberavem/AtlasFragment.java @@ -0,0 +1,108 @@ +package org.marcinzelent.liberavem; + +import android.content.Context; +import android.net.Uri; +import android.os.Bundle; +import android.support.v4.app.Fragment; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + + +/** + * A simple {@link Fragment} subclass. + * Activities that contain this fragment must implement the + * {@link AtlasFragment.OnFragmentInteractionListener} interface + * to handle interaction events.