From 8175239cff012b2d03c315976fa44dcd7b3882e1 Mon Sep 17 00:00:00 2001 From: Caesar2011 Date: Mon, 30 Jul 2018 21:53:54 +0200 Subject: [PATCH] Code cleanup --- .../java/de/sebse/fuplanner/MainActivity.java | 40 +++++--- .../fuplanner/fragments/CanteensAdapter.java | 2 +- .../fuplanner/fragments/CanteensFragment.java | 7 +- .../fuplanner/fragments/LoginFragment.java | 7 +- .../fuplanner/fragments/ModulesAdapter.java | 2 +- .../fuplanner/fragments/ModulesFragment.java | 7 +- .../fuplanner/fragments/ScheduleFragment.java | 6 +- .../fuplanner/fragments/StartupFragment.java | 5 - .../fragments/canteen/DaySwitcherAdapter.java | 2 - .../canteen/DaySwitcherFragment.java | 2 +- .../canteen/DaySwitcherListener.java | 2 +- .../fragments/canteen/MealAdapter.java | 7 +- .../fragments/canteen/MealFragment.java | 6 +- .../moddetails/ModDetailAnnounceAdapter.java | 2 +- .../moddetails/ModDetailAnnounceFragment.java | 2 +- .../ModDetailAssignmentAdapter.java | 2 +- .../ModDetailAssignmentFragment.java | 2 +- .../moddetails/ModDetailEventAdapter.java | 4 +- .../moddetails/ModDetailEventFragment.java | 2 +- .../moddetails/ModDetailFragment.java | 2 +- .../moddetails/ModDetailGradebookAdapter.java | 9 +- .../ModDetailGradebookFragment.java | 2 +- .../moddetails/ModDetailOverviewAdapter.java | 6 +- .../moddetails/ModDetailOverviewFragment.java | 2 +- .../services/Canteen/CanteenBrowser.java | 4 +- .../fuplanner/services/Canteen/types/Day.java | 2 +- .../services/GoogleAuth/RequestCode.java | 2 +- .../de/sebse/fuplanner/services/KVV/KVV.java | 8 +- .../fuplanner/services/KVV/KVVLogin.java | 5 +- .../fuplanner/services/KVV/KVVModuleList.java | 5 +- .../fuplanner/services/KVV/types/Event.java | 19 ++-- .../services/KVV/types/LoginToken.java | 2 +- .../fuplanner/services/KVV/types/Modules.java | 2 +- .../sebse/fuplanner/services/MensaPlan.java | 64 ------------ .../de/sebse/fuplanner/tools/AsyncQueue.java | 4 +- .../de/sebse/fuplanner/tools/Compare.java | 7 -- .../sebse/fuplanner/tools/DateSortedList.java | 4 +- .../de/sebse/fuplanner/tools/DateUtils.java | 2 +- .../sebse/fuplanner/tools/EventEmitter.java | 41 -------- .../tools/MainAcitivityListener.java | 1 - .../de/sebse/fuplanner/tools/SortedList.java | 8 +- .../de/sebse/fuplanner/tools/Triplet.java | 18 ---- .../tools/network/BetterHurlStack.java | 2 +- .../fuplanner/tools/network/HTTPService.java | 6 +- .../fuplanner/tools/network/HttpRequest.java | 2 +- .../ui/weekview/DateTimeInterpreter.java | 4 +- .../tools/ui/weekview/WeekViewEvent.java | 97 +----------------- .../tools/ui/weekview/WeekViewUtil.java | 9 +- .../main/res/layout/list_all_show_more.xml | 1 - .../res/layout/list_modetails_gradebook.xml | 2 +- .../mipmap-hdpi/ic_launcher_foreground.png | Bin 5238 -> 6160 bytes .../mipmap-mdpi/ic_launcher_foreground.png | Bin 2818 -> 3209 bytes .../mipmap-xhdpi/ic_launcher_foreground.png | Bin 8409 -> 9751 bytes .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin 16923 -> 19526 bytes .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin 27846 -> 31206 bytes app/src/main/res/values-de/strings.xml | 3 +- app/src/main/res/values-ldrtl/strings.xml | 4 + app/src/main/res/values/drawables.xml | 2 +- app/src/main/res/values/strings.xml | 13 +-- app/src/main/res/values/styles.xml | 6 +- 60 files changed, 114 insertions(+), 365 deletions(-) delete mode 100644 app/src/main/java/de/sebse/fuplanner/services/MensaPlan.java delete mode 100644 app/src/main/java/de/sebse/fuplanner/tools/Compare.java delete mode 100644 app/src/main/java/de/sebse/fuplanner/tools/EventEmitter.java delete mode 100644 app/src/main/java/de/sebse/fuplanner/tools/Triplet.java create mode 100644 app/src/main/res/values-ldrtl/strings.xml diff --git a/app/src/main/java/de/sebse/fuplanner/MainActivity.java b/app/src/main/java/de/sebse/fuplanner/MainActivity.java index 83ec9ab..992a1e9 100644 --- a/app/src/main/java/de/sebse/fuplanner/MainActivity.java +++ b/app/src/main/java/de/sebse/fuplanner/MainActivity.java @@ -55,10 +55,10 @@ public class MainActivity extends AppCompatActivity private static final String ARG_FRAGMENT_PAGE = "fragment_page"; private static final String ARG_FRAGMENT_STATUS = "fragment_status"; - FragmentManager mFragmentManager; + private FragmentManager mFragmentManager; private GoogleAuth mGoogleAuth; private KVV mKVV; - private Logger log = new Logger(this); + private final Logger log = new Logger(this); private NavigationView mNavigationView; private int fragmentPage = FRAGMENT_NONE; @@ -289,20 +289,28 @@ public class MainActivity extends AppCompatActivity private void changeFragment(int newFragment, String newData) { onTitleTextChange(R.string.courses); Fragment fragment; - if (newFragment == FRAGMENT_MODULES) { - fragment = ModulesFragment.newInstance(); - } else if (newFragment == FRAGMENT_MODULES_DETAILS) { - fragment = ModDetailFragment.newInstance(newData); - } else if (newFragment == FRAGMENT_LOGIN) { - fragment = LoginFragment.newInstance(); - } else if (newFragment == FRAGMENT_SCHEDULE) { - fragment = ScheduleFragment.newInstance(); - } else if (newFragment == FRAGMENT_CANTEENS) { - fragment = CanteensFragment.newInstance(); - } else if (newFragment == FRAGMENT_CANTEENS_DETAILS) { - fragment = DaySwitcherFragment.newInstance(Integer.parseInt(newData)); - } else { // FRAGMENT_STARTUP - fragment = StartupFragment.newInstance(); + switch (newFragment) { + case FRAGMENT_MODULES: + fragment = ModulesFragment.newInstance(); + break; + case FRAGMENT_MODULES_DETAILS: + fragment = ModDetailFragment.newInstance(newData); + break; + case FRAGMENT_LOGIN: + fragment = LoginFragment.newInstance(); + break; + case FRAGMENT_SCHEDULE: + fragment = ScheduleFragment.newInstance(); + break; + case FRAGMENT_CANTEENS: + fragment = CanteensFragment.newInstance(); + break; + case FRAGMENT_CANTEENS_DETAILS: + fragment = DaySwitcherFragment.newInstance(Integer.parseInt(newData)); + break; + default: // FRAGMENT_STARTUP + fragment = StartupFragment.newInstance(); + break; } FragmentTransaction fragmentTransaction = mFragmentManager.beginTransaction(); diff --git a/app/src/main/java/de/sebse/fuplanner/fragments/CanteensAdapter.java b/app/src/main/java/de/sebse/fuplanner/fragments/CanteensAdapter.java index 341a353..223b594 100644 --- a/app/src/main/java/de/sebse/fuplanner/fragments/CanteensAdapter.java +++ b/app/src/main/java/de/sebse/fuplanner/fragments/CanteensAdapter.java @@ -17,7 +17,7 @@ import de.sebse.fuplanner.tools.ui.ItemViewHolder; * {@link RecyclerView.Adapter} that can display a {@link Modules.Module} and makes a call to the * specified {@link OnCanteensFragmentInteractionListener}. */ -public class CanteensAdapter extends RecyclerView.Adapter { +class CanteensAdapter extends RecyclerView.Adapter { private Canteens mValues; private final OnCanteensFragmentInteractionListener mListener; diff --git a/app/src/main/java/de/sebse/fuplanner/fragments/CanteensFragment.java b/app/src/main/java/de/sebse/fuplanner/fragments/CanteensFragment.java index 2314b8e..efb5813 100644 --- a/app/src/main/java/de/sebse/fuplanner/fragments/CanteensFragment.java +++ b/app/src/main/java/de/sebse/fuplanner/fragments/CanteensFragment.java @@ -25,7 +25,7 @@ import de.sebse.fuplanner.tools.logging.Logger; */ public class CanteensFragment extends Fragment { private OnCanteensFragmentInteractionListener mListener; - private Logger log = new Logger(this); + private final Logger log = new Logger(this); private CanteensAdapter adapter; private SwipeRefreshLayout swipeLayout; @@ -43,11 +43,6 @@ public class CanteensFragment extends Fragment { return fragment; } - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - } - @Override public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { diff --git a/app/src/main/java/de/sebse/fuplanner/fragments/LoginFragment.java b/app/src/main/java/de/sebse/fuplanner/fragments/LoginFragment.java index 267c162..66d2b7b 100644 --- a/app/src/main/java/de/sebse/fuplanner/fragments/LoginFragment.java +++ b/app/src/main/java/de/sebse/fuplanner/fragments/LoginFragment.java @@ -32,7 +32,7 @@ import de.sebse.fuplanner.tools.logging.Logger; */ public class LoginFragment extends Fragment { private OnLoginFragmentInteractionListener mListener; - private Logger log = new Logger(this); + private final Logger log = new Logger(this); public LoginFragment() { // Required empty public constructor @@ -51,11 +51,6 @@ public class LoginFragment extends Fragment { return fragment; } - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - } - @Override public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { diff --git a/app/src/main/java/de/sebse/fuplanner/fragments/ModulesAdapter.java b/app/src/main/java/de/sebse/fuplanner/fragments/ModulesAdapter.java index 7d81b3a..140e4e8 100644 --- a/app/src/main/java/de/sebse/fuplanner/fragments/ModulesAdapter.java +++ b/app/src/main/java/de/sebse/fuplanner/fragments/ModulesAdapter.java @@ -15,7 +15,7 @@ import de.sebse.fuplanner.tools.ui.ItemViewHolder; * {@link RecyclerView.Adapter} that can display a {@link Modules.Module} and makes a call to the * specified {@link OnModulesFragmentInteractionListener}. */ -public class ModulesAdapter extends RecyclerView.Adapter { +class ModulesAdapter extends RecyclerView.Adapter { private Modules mValues; private final OnModulesFragmentInteractionListener mListener; diff --git a/app/src/main/java/de/sebse/fuplanner/fragments/ModulesFragment.java b/app/src/main/java/de/sebse/fuplanner/fragments/ModulesFragment.java index 79b4ee8..e0a3ae0 100644 --- a/app/src/main/java/de/sebse/fuplanner/fragments/ModulesFragment.java +++ b/app/src/main/java/de/sebse/fuplanner/fragments/ModulesFragment.java @@ -25,7 +25,7 @@ import de.sebse.fuplanner.tools.logging.Logger; */ public class ModulesFragment extends Fragment { private OnModulesFragmentInteractionListener mListener; - private Logger log = new Logger(this); + private final Logger log = new Logger(this); private ModulesAdapter adapter; private SwipeRefreshLayout swipeLayout; @@ -43,11 +43,6 @@ public class ModulesFragment extends Fragment { return fragment; } - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - } - @Override public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { diff --git a/app/src/main/java/de/sebse/fuplanner/fragments/ScheduleFragment.java b/app/src/main/java/de/sebse/fuplanner/fragments/ScheduleFragment.java index c42b245..aba56fe 100644 --- a/app/src/main/java/de/sebse/fuplanner/fragments/ScheduleFragment.java +++ b/app/src/main/java/de/sebse/fuplanner/fragments/ScheduleFragment.java @@ -37,7 +37,7 @@ import de.sebse.fuplanner.tools.ui.weekview.WeekViewEvent; public class ScheduleFragment extends Fragment implements MonthLoader.MonthChangeListener, WeekView.ScrollListener, WeekView.DoubleTapListener { private MainAcitivityListener mListener; private WeekView mWeekView; - private Logger log = new Logger(this); + private final Logger log = new Logger(this); private Modules mModules = null; public ScheduleFragment() { @@ -78,9 +78,9 @@ public class ScheduleFragment extends Fragment implements MonthLoader.MonthChang mWeekView.notifyDatasetChanged(); } } - }, error1 -> log.e(error1), forceRefresh); + }, log::e, forceRefresh); } - }, error -> log.e(error), forceRefresh); + }, log::e, forceRefresh); } } diff --git a/app/src/main/java/de/sebse/fuplanner/fragments/StartupFragment.java b/app/src/main/java/de/sebse/fuplanner/fragments/StartupFragment.java index 9c76a1d..27ffdcc 100644 --- a/app/src/main/java/de/sebse/fuplanner/fragments/StartupFragment.java +++ b/app/src/main/java/de/sebse/fuplanner/fragments/StartupFragment.java @@ -33,11 +33,6 @@ public class StartupFragment extends Fragment { return fragment; } - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - } - @Override public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { diff --git a/app/src/main/java/de/sebse/fuplanner/fragments/canteen/DaySwitcherAdapter.java b/app/src/main/java/de/sebse/fuplanner/fragments/canteen/DaySwitcherAdapter.java index b8a54e1..5b0f492 100644 --- a/app/src/main/java/de/sebse/fuplanner/fragments/canteen/DaySwitcherAdapter.java +++ b/app/src/main/java/de/sebse/fuplanner/fragments/canteen/DaySwitcherAdapter.java @@ -1,13 +1,11 @@ package de.sebse.fuplanner.fragments.canteen; -import android.content.Context; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentStatePagerAdapter; import de.sebse.fuplanner.services.Canteen.types.Canteen; import de.sebse.fuplanner.tools.DateUtils; -import de.sebse.fuplanner.tools.logging.Logger; class DaySwitcherAdapter extends FragmentStatePagerAdapter { private Canteen mCanteen = null; diff --git a/app/src/main/java/de/sebse/fuplanner/fragments/canteen/DaySwitcherFragment.java b/app/src/main/java/de/sebse/fuplanner/fragments/canteen/DaySwitcherFragment.java index 96b076a..a855b50 100644 --- a/app/src/main/java/de/sebse/fuplanner/fragments/canteen/DaySwitcherFragment.java +++ b/app/src/main/java/de/sebse/fuplanner/fragments/canteen/DaySwitcherFragment.java @@ -33,7 +33,7 @@ public class DaySwitcherFragment extends Fragment implements DaySwitcherListener private int mCanteenId; private MainAcitivityListener mListener; - private Logger log = new Logger(this); + private final Logger log = new Logger(this); private ViewPager mViewPager; private DaySwitcherAdapter adapterViewPager; diff --git a/app/src/main/java/de/sebse/fuplanner/fragments/canteen/DaySwitcherListener.java b/app/src/main/java/de/sebse/fuplanner/fragments/canteen/DaySwitcherListener.java index c80eb83..8fdc87d 100644 --- a/app/src/main/java/de/sebse/fuplanner/fragments/canteen/DaySwitcherListener.java +++ b/app/src/main/java/de/sebse/fuplanner/fragments/canteen/DaySwitcherListener.java @@ -4,6 +4,6 @@ import de.sebse.fuplanner.services.Canteen.types.Canteen; import de.sebse.fuplanner.tools.network.NetworkCallback; import de.sebse.fuplanner.tools.network.NetworkErrorCallback; -public interface DaySwitcherListener { +interface DaySwitcherListener { void onChildRefresh(NetworkCallback callback, NetworkErrorCallback errorCallback); } diff --git a/app/src/main/java/de/sebse/fuplanner/fragments/canteen/MealAdapter.java b/app/src/main/java/de/sebse/fuplanner/fragments/canteen/MealAdapter.java index bde18b2..b40c05e 100644 --- a/app/src/main/java/de/sebse/fuplanner/fragments/canteen/MealAdapter.java +++ b/app/src/main/java/de/sebse/fuplanner/fragments/canteen/MealAdapter.java @@ -9,16 +9,13 @@ import android.widget.BaseExpandableListAdapter; import de.sebse.fuplanner.R; import de.sebse.fuplanner.services.Canteen.types.Day; import de.sebse.fuplanner.services.Canteen.types.Meal; -import de.sebse.fuplanner.services.KVV.types.Assignment; -import de.sebse.fuplanner.services.KVV.types.Modules; -import de.sebse.fuplanner.tools.DateUtils; import de.sebse.fuplanner.tools.ui.ItemViewHolder; import de.sebse.fuplanner.tools.ui.StringViewHolder; -public class MealAdapter extends BaseExpandableListAdapter { +class MealAdapter extends BaseExpandableListAdapter { private Day mDay = null; - private Context mContext; + private final Context mContext; public MealAdapter(Context context) { mContext = context; diff --git a/app/src/main/java/de/sebse/fuplanner/fragments/canteen/MealFragment.java b/app/src/main/java/de/sebse/fuplanner/fragments/canteen/MealFragment.java index 4bd3971..bc80061 100644 --- a/app/src/main/java/de/sebse/fuplanner/fragments/canteen/MealFragment.java +++ b/app/src/main/java/de/sebse/fuplanner/fragments/canteen/MealFragment.java @@ -29,7 +29,7 @@ public class MealFragment extends Fragment { private int mCanteenId; private int mDayPosition; - private Logger log = new Logger(this); + private final Logger log = new Logger(this); private MealAdapter adapter; private SwipeRefreshLayout swipeLayout; private DaySwitcherListener mListener; @@ -78,9 +78,7 @@ public class MealFragment extends Fragment { // Getting SwipeContainerLayout swipeLayout = view.findViewById(R.id.swipe_container); // Adding Listener - swipeLayout.setOnRefreshListener(() -> { - mListener.onChildRefresh(callback -> refresh(true), error -> refresh(true)); - }); + swipeLayout.setOnRefreshListener(() -> mListener.onChildRefresh(callback -> refresh(true), error -> refresh(true))); refresh(false); return view; diff --git a/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailAnnounceAdapter.java b/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailAnnounceAdapter.java index 4aa5e14..af98fb6 100644 --- a/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailAnnounceAdapter.java +++ b/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailAnnounceAdapter.java @@ -12,7 +12,7 @@ import de.sebse.fuplanner.tools.DateUtils; import de.sebse.fuplanner.tools.ui.ItemViewHolder; import de.sebse.fuplanner.tools.ui.StringViewHolder; -public class ModDetailAnnounceAdapter extends BaseExpandableListAdapter { +class ModDetailAnnounceAdapter extends BaseExpandableListAdapter { private Modules.Module mModule = null; diff --git a/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailAnnounceFragment.java b/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailAnnounceFragment.java index 4979416..f6a6a17 100644 --- a/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailAnnounceFragment.java +++ b/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailAnnounceFragment.java @@ -25,7 +25,7 @@ public class ModDetailAnnounceFragment extends Fragment { private static final String ARG_POSITION = "itemPosition"; private String mItemPos; - private Logger log = new Logger(this); + private final Logger log = new Logger(this); private ModDetailAnnounceAdapter adapter; private SwipeRefreshLayout swipeLayout; diff --git a/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailAssignmentAdapter.java b/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailAssignmentAdapter.java index 39247b8..cdafdad 100644 --- a/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailAssignmentAdapter.java +++ b/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailAssignmentAdapter.java @@ -12,7 +12,7 @@ import de.sebse.fuplanner.tools.DateUtils; import de.sebse.fuplanner.tools.ui.ItemViewHolder; import de.sebse.fuplanner.tools.ui.StringViewHolder; -public class ModDetailAssignmentAdapter extends BaseExpandableListAdapter { +class ModDetailAssignmentAdapter extends BaseExpandableListAdapter { private Modules.Module mModule = null; diff --git a/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailAssignmentFragment.java b/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailAssignmentFragment.java index 5e723af..966fad7 100644 --- a/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailAssignmentFragment.java +++ b/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailAssignmentFragment.java @@ -25,7 +25,7 @@ public class ModDetailAssignmentFragment extends Fragment { private static final String ARG_POSITION = "itemPosition"; private String mItemPos; - private Logger log = new Logger(this); + private final Logger log = new Logger(this); private ModDetailAssignmentAdapter adapter; private SwipeRefreshLayout swipeLayout; diff --git a/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailEventAdapter.java b/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailEventAdapter.java index 6882cfd..e7d6390 100644 --- a/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailEventAdapter.java +++ b/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailEventAdapter.java @@ -17,7 +17,7 @@ import de.sebse.fuplanner.tools.DateUtils; import de.sebse.fuplanner.tools.ui.CustomViewHolder; import de.sebse.fuplanner.tools.ui.ItemViewHolder; -public class ModDetailEventAdapter extends RecyclerView.Adapter { +class ModDetailEventAdapter extends RecyclerView.Adapter { private static final int TYPE_HEADER = 0; private static final int TYPE_ITEM = 1; @@ -153,7 +153,7 @@ public class ModDetailEventAdapter extends RecyclerView.Adapter { +class ModDetailGradebookAdapter extends RecyclerView.Adapter { private static final int TYPE_TOTAL = 0; private static final int TYPE_GRADE = 1; @@ -76,6 +77,7 @@ public class ModDetailGradebookAdapter extends RecyclerView.Adapter mPositionalData.size()) @@ -84,8 +86,7 @@ public class ModDetailGradebookAdapter extends RecyclerView.Adapter { +class ModDetailOverviewAdapter extends RecyclerView.Adapter { private static final int MAX_ITEMS_PER_PREVIEW = 2; private static final int TYPE_HEADER = 0; @@ -221,7 +221,7 @@ public class ModDetailOverviewAdapter extends RecyclerView.Adapter { private final int canteenId; private final Calendar calendar; - private boolean isClosed; + private final boolean isClosed; private SortedListMeal list = new SortedListMeal(); Day(Canteen canteen, Calendar calendar, boolean isClosed) { diff --git a/app/src/main/java/de/sebse/fuplanner/services/GoogleAuth/RequestCode.java b/app/src/main/java/de/sebse/fuplanner/services/GoogleAuth/RequestCode.java index 3211a8e..150a5b4 100644 --- a/app/src/main/java/de/sebse/fuplanner/services/GoogleAuth/RequestCode.java +++ b/app/src/main/java/de/sebse/fuplanner/services/GoogleAuth/RequestCode.java @@ -4,7 +4,7 @@ package de.sebse.fuplanner.services.GoogleAuth; * Created by sebastian on 07.11.17. */ -public class RequestCode { +class RequestCode { public static final int RC_SAVE = 1; public static final int RC_HINT = 2; public static final int RC_READ = 3; diff --git a/app/src/main/java/de/sebse/fuplanner/services/KVV/KVV.java b/app/src/main/java/de/sebse/fuplanner/services/KVV/KVV.java index e807088..a70e9b3 100644 --- a/app/src/main/java/de/sebse/fuplanner/services/KVV/KVV.java +++ b/app/src/main/java/de/sebse/fuplanner/services/KVV/KVV.java @@ -19,12 +19,12 @@ import de.sebse.fuplanner.tools.network.NetworkErrorCallback; */ public class KVV { - private Context context; + private final Context context; private LoginToken lastToken; private boolean isLoginPending = true; - private ArrayList updatingList; - private HashMap addons = new HashMap<>(); - private MainAcitivityListener mListener; + private final ArrayList updatingList; + private final HashMap addons = new HashMap<>(); + private final MainAcitivityListener mListener; public KVV(Context context) { mListener = (MainAcitivityListener) context; diff --git a/app/src/main/java/de/sebse/fuplanner/services/KVV/KVVLogin.java b/app/src/main/java/de/sebse/fuplanner/services/KVV/KVVLogin.java index 56fe0ac..7048841 100644 --- a/app/src/main/java/de/sebse/fuplanner/services/KVV/KVVLogin.java +++ b/app/src/main/java/de/sebse/fuplanner/services/KVV/KVVLogin.java @@ -85,9 +85,7 @@ class KVVLogin extends HTTPService { String ident_idp_session = success11112.get("_idp_session"); getSAMLResponse(identJSESSIONID, ident_idp_authn_lc_key, identROUTEID, ident_idp_session, success1111 -> loginKVV(success1111.get("RelayState"), success1111.get("SAMLResponse"), kvvJSESSIONID, success111112 -> { LoginToken token = new LoginToken(username, success111112.get("shibsessionKey"), success111112.get("shibsessionName"), kvvJSESSIONID); - finishKVVlogin(token, success11111 -> { - callback.onResponse(token); - }, error); + finishKVVlogin(token, success11111 -> callback.onResponse(token), error); }, error), error); }, error), error); }, error), error); @@ -105,7 +103,6 @@ class KVVLogin extends HTTPService { callback.onResponse(loginToken); } catch (JSONException e) { errorCallback.onError(new NetworkError(100201, 403, "Cannot parse profile!")); - return; } }, error -> errorCallback.onError(new NetworkError(100200, error.networkResponse.statusCode, "Testing login failed!"))); } diff --git a/app/src/main/java/de/sebse/fuplanner/services/KVV/KVVModuleList.java b/app/src/main/java/de/sebse/fuplanner/services/KVV/KVVModuleList.java index 8410956..e64a80b 100644 --- a/app/src/main/java/de/sebse/fuplanner/services/KVV/KVVModuleList.java +++ b/app/src/main/java/de/sebse/fuplanner/services/KVV/KVVModuleList.java @@ -36,10 +36,10 @@ import de.sebse.fuplanner.tools.network.NetworkErrorCallback; * Created by sebastian on 29.10.17. */ -public class KVVModuleList extends HTTPService { +class KVVModuleList extends HTTPService { private final LoginToken token; private Modules moduleList; - private AsyncQueue queueModuleDetails = new AsyncQueue(); + private final AsyncQueue queueModuleDetails = new AsyncQueue(); KVVModuleList(Context context, LoginToken token) { super(context); @@ -443,7 +443,6 @@ public class KVVModuleList extends HTTPService { callback.onResponse(loginToken); } catch (JSONException e) { errorCallback.onError(new NetworkError(100201, 403, "Cannot parse profile!")); - return; } }, error -> errorCallback.onError(new NetworkError(100200, error.networkResponse.statusCode, "Testing login failed!"))); } diff --git a/app/src/main/java/de/sebse/fuplanner/services/KVV/types/Event.java b/app/src/main/java/de/sebse/fuplanner/services/KVV/types/Event.java index 1405fcd..ae171ee 100644 --- a/app/src/main/java/de/sebse/fuplanner/services/KVV/types/Event.java +++ b/app/src/main/java/de/sebse/fuplanner/services/KVV/types/Event.java @@ -6,7 +6,6 @@ import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import de.sebse.fuplanner.tools.ColorRGB; -import de.sebse.fuplanner.tools.logging.Logger; public class Event implements Serializable { private final String id; @@ -14,7 +13,7 @@ public class Event implements Serializable { private final String title; private final long duration; private final long firstTime; - private String siteId; + private final String siteId; public Event(String id, String type, String title, long duration, long firstTime, String siteId) { this.id = id; @@ -46,7 +45,7 @@ public class Event implements Serializable { } public ColorRGB getColor() { - MessageDigest digest = null; + MessageDigest digest; try { digest = MessageDigest.getInstance("SHA-256"); } catch (NoSuchAlgorithmException e) { @@ -61,20 +60,20 @@ public class Event implements Serializable { } int h = (0xff & encodedHash[0]) + (0xff & encodedHash[1]) * 255; h = h * 360 / 0xffff; - int s = 0xff & encodedHash[2]; - s = s * 100 / 0xffff; - int v = 0xff & encodedHash[3]; - v = v * 100 / 0xffff; + //int s = 0xff & encodedHash[2]; + //s = s * 100 / 0xffff; + //int v = 0xff & encodedHash[3]; + //v = v * 100 / 0xffff; // range for more beautiful colors h = h / 30 * 30; - s = 100; - v = 50; + int s = 100; + int v = 50; return hsvToRgb(h/360.0, s/100.0, v/100.0); } - public static ColorRGB hsvToRgb(double hue, double saturation, double value) { + private static ColorRGB hsvToRgb(double hue, double saturation, double value) { int h = (int)(hue * 6); double f = hue * 6 - h; double p = value * (1 - saturation); diff --git a/app/src/main/java/de/sebse/fuplanner/services/KVV/types/LoginToken.java b/app/src/main/java/de/sebse/fuplanner/services/KVV/types/LoginToken.java index 4f1a090..179ea06 100644 --- a/app/src/main/java/de/sebse/fuplanner/services/KVV/types/LoginToken.java +++ b/app/src/main/java/de/sebse/fuplanner/services/KVV/types/LoginToken.java @@ -22,7 +22,7 @@ public class LoginToken implements Serializable { private final String username; private final String shibsessionKey; private final String shibsessionName; - private String JSESSIONID; + private final String JSESSIONID; private String fullname; private String email; private long saveDate = 0; diff --git a/app/src/main/java/de/sebse/fuplanner/services/KVV/types/Modules.java b/app/src/main/java/de/sebse/fuplanner/services/KVV/types/Modules.java index c9ca741..4e1ffd7 100644 --- a/app/src/main/java/de/sebse/fuplanner/services/KVV/types/Modules.java +++ b/app/src/main/java/de/sebse/fuplanner/services/KVV/types/Modules.java @@ -20,7 +20,7 @@ import java.util.Iterator; public class Modules implements Iterable, Serializable { private SortedListModule list; - private LoginToken token; + private final LoginToken token; //private transient Logger log = new Logger(this); private static final String FILE_NAME = "ModuleListSaving"; diff --git a/app/src/main/java/de/sebse/fuplanner/services/MensaPlan.java b/app/src/main/java/de/sebse/fuplanner/services/MensaPlan.java deleted file mode 100644 index 9ad343e..0000000 --- a/app/src/main/java/de/sebse/fuplanner/services/MensaPlan.java +++ /dev/null @@ -1,64 +0,0 @@ -package de.sebse.fuplanner.services; - -import android.content.Context; -import android.util.Log; - -import com.android.volley.AuthFailureError; -import com.android.volley.Request; -import com.android.volley.RequestQueue; -import com.android.volley.VolleyLog; -import com.android.volley.toolbox.StringRequest; -import com.android.volley.toolbox.Volley; - -import org.json.JSONException; -import org.json.JSONObject; - -import java.io.UnsupportedEncodingException; -import java.util.Date; - -/** - * Created by sebastian on 12.10.17. - */ - -public class MensaPlan { - - private final RequestQueue requestQueue; - public MensaPlan(Context context) { - requestQueue = Volley.newRequestQueue(context); - } - - public void request(int MensaID, Date date) throws JSONException { - JSONObject post = new JSONObject(); - post.put("resources_id", 528); - post.put("date", "2017-10-13"); - final String requestBody = post.toString(); - - StringRequest request = new StringRequest(Request.Method.POST, "https://www.stw.berlin/xhr/speiseplan-wochentag.html", response -> Log.d("MensaPlan DDDD", response), error -> Log.d("MensaPlan EEEE", error.getMessage())) { - @Override - public String getBodyContentType() { - return "application/json; charset=utf-8"; - } - - @Override - public byte[] getBody() throws AuthFailureError { - try { - return requestBody == null ? null : requestBody.getBytes("utf-8"); - } catch (UnsupportedEncodingException uee) { - VolleyLog.wtf("Unsupported Encoding while trying to get the bytes of %s using %s", requestBody, "utf-8"); - return null; - } - } - - /*@Override - protected Response parseNetworkResponse(NetworkResponse response) { - String responseString = ""; - responseString = String.valueOf(response.statusCode); - // can get more details such as response.headers - - return Response.success(responseString, HttpHeaderParser.parseCacheHeaders(response)); - }*/ - }; - requestQueue.add(request); - } - -} diff --git a/app/src/main/java/de/sebse/fuplanner/tools/AsyncQueue.java b/app/src/main/java/de/sebse/fuplanner/tools/AsyncQueue.java index 2bc56c6..1e608ad 100644 --- a/app/src/main/java/de/sebse/fuplanner/tools/AsyncQueue.java +++ b/app/src/main/java/de/sebse/fuplanner/tools/AsyncQueue.java @@ -7,8 +7,8 @@ import de.sebse.fuplanner.tools.network.NetworkCallback; import de.sebse.fuplanner.tools.network.NetworkErrorCallback; public class AsyncQueue { - private HashMap> mQueues = new HashMap<>(); - private HashMap mRunnings = new HashMap<>(); + private final HashMap> mQueues = new HashMap<>(); + private final HashMap mRunnings = new HashMap<>(); public void add(String hash, AsyncQueueCallback callback) { if (isRunning(hash)) diff --git a/app/src/main/java/de/sebse/fuplanner/tools/Compare.java b/app/src/main/java/de/sebse/fuplanner/tools/Compare.java deleted file mode 100644 index c46e0c0..0000000 --- a/app/src/main/java/de/sebse/fuplanner/tools/Compare.java +++ /dev/null @@ -1,7 +0,0 @@ -package de.sebse.fuplanner.tools; - -public enum Compare { - SMALLER, - EQUAL, - LARGER -} diff --git a/app/src/main/java/de/sebse/fuplanner/tools/DateSortedList.java b/app/src/main/java/de/sebse/fuplanner/tools/DateSortedList.java index 8871d9d..b670905 100644 --- a/app/src/main/java/de/sebse/fuplanner/tools/DateSortedList.java +++ b/app/src/main/java/de/sebse/fuplanner/tools/DateSortedList.java @@ -97,9 +97,9 @@ public abstract class DateSortedList extends ArrayList { }; } - public boolean reversed() { + protected boolean reversed() { return false; } - public abstract long getDateByItem(T item); + protected abstract long getDateByItem(T item); } diff --git a/app/src/main/java/de/sebse/fuplanner/tools/DateUtils.java b/app/src/main/java/de/sebse/fuplanner/tools/DateUtils.java index bd755b7..9161625 100644 --- a/app/src/main/java/de/sebse/fuplanner/tools/DateUtils.java +++ b/app/src/main/java/de/sebse/fuplanner/tools/DateUtils.java @@ -60,7 +60,7 @@ public class DateUtils { } @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2) - public static String getDateFormat(Locale locale, String skeleton) { + private static String getDateFormat(Locale locale, String skeleton) { return DateFormat.getBestDateTimePattern(locale, skeleton); } diff --git a/app/src/main/java/de/sebse/fuplanner/tools/EventEmitter.java b/app/src/main/java/de/sebse/fuplanner/tools/EventEmitter.java deleted file mode 100644 index d3ce34c..0000000 --- a/app/src/main/java/de/sebse/fuplanner/tools/EventEmitter.java +++ /dev/null @@ -1,41 +0,0 @@ -package de.sebse.fuplanner.tools; - - -import java.util.HashSet; - -public class EventEmitter { - private T lastValue = null; - private HashSet> list = new HashSet<>(); - - public EventEmitter() { - this(null); - } - - protected EventEmitter(T value) { - this.lastValue = value; - } - - public boolean emitterAdd(EventListener listener) { - return list.add(listener); - } - - public boolean emitterAddEmit(EventListener listener) { - listener.onResponse(this.lastValue); - return list.add(listener); - } - - public boolean emitterRemove(EventListener listener) { - return list.remove(listener); - } - - protected void emit(T value) { - this.lastValue = value; - for (EventListener emitter: list) { - emitter.onResponse(value); - } - } - - public interface EventListener { - void onResponse(T value); - } -} diff --git a/app/src/main/java/de/sebse/fuplanner/tools/MainAcitivityListener.java b/app/src/main/java/de/sebse/fuplanner/tools/MainAcitivityListener.java index 9bdb11f..114d984 100644 --- a/app/src/main/java/de/sebse/fuplanner/tools/MainAcitivityListener.java +++ b/app/src/main/java/de/sebse/fuplanner/tools/MainAcitivityListener.java @@ -2,7 +2,6 @@ package de.sebse.fuplanner.tools; import android.support.annotation.StringRes; -import de.sebse.fuplanner.fragments.canteen.DaySwitcherFragment; import de.sebse.fuplanner.services.Canteen.CanteenBrowser; import de.sebse.fuplanner.services.GoogleAuth.GoogleAuth; import de.sebse.fuplanner.services.KVV.KVV; diff --git a/app/src/main/java/de/sebse/fuplanner/tools/SortedList.java b/app/src/main/java/de/sebse/fuplanner/tools/SortedList.java index 6137cf1..48e66ff 100644 --- a/app/src/main/java/de/sebse/fuplanner/tools/SortedList.java +++ b/app/src/main/java/de/sebse/fuplanner/tools/SortedList.java @@ -10,7 +10,7 @@ import java.util.Iterator; public abstract class SortedList implements Iterable, Serializable { - private ArrayList internalList = new ArrayList<>(); + private final ArrayList internalList = new ArrayList<>(); public void add(T e) { internalList.add(e); @@ -21,11 +21,11 @@ public abstract class SortedList implements Iterable, Serializable { this.internalList.remove(index); } - public abstract int compare(T o1, T o2); + protected abstract int compare(T o1, T o2); - public abstract boolean hasIdentifier(T o1, I id); + protected abstract boolean hasIdentifier(T o1, I id); - public abstract boolean hasFilter(T o1, F filter); + protected abstract boolean hasFilter(T o1, F filter); @Nullable public T get(int i) { diff --git a/app/src/main/java/de/sebse/fuplanner/tools/Triplet.java b/app/src/main/java/de/sebse/fuplanner/tools/Triplet.java deleted file mode 100644 index 81d2d85..0000000 --- a/app/src/main/java/de/sebse/fuplanner/tools/Triplet.java +++ /dev/null @@ -1,18 +0,0 @@ -package de.sebse.fuplanner.tools; - -public class Triplet { - - private final T first; - private final U second; - private final V third; - - public Triplet(T first, U second, V third) { - this.first = first; - this.second = second; - this.third = third; - } - - public T getFirst() { return first; } - public U getSecond() { return second; } - public V getThird() { return third; } -} \ No newline at end of file diff --git a/app/src/main/java/de/sebse/fuplanner/tools/network/BetterHurlStack.java b/app/src/main/java/de/sebse/fuplanner/tools/network/BetterHurlStack.java index 6e798d4..3979805 100644 --- a/app/src/main/java/de/sebse/fuplanner/tools/network/BetterHurlStack.java +++ b/app/src/main/java/de/sebse/fuplanner/tools/network/BetterHurlStack.java @@ -38,7 +38,7 @@ public class BetterHurlStack extends HurlStack { private final UrlRewriter mUrlRewriter; private final SSLSocketFactory mSslSocketFactory; @SuppressWarnings({"unused", "FieldCanBeLocal"}) - private boolean followRedirects; // TODO auto-redirect + private final boolean followRedirects; // TODO auto-redirect BetterHurlStack() { this(true); diff --git a/app/src/main/java/de/sebse/fuplanner/tools/network/HTTPService.java b/app/src/main/java/de/sebse/fuplanner/tools/network/HTTPService.java index f3ffddd..59a7811 100644 --- a/app/src/main/java/de/sebse/fuplanner/tools/network/HTTPService.java +++ b/app/src/main/java/de/sebse/fuplanner/tools/network/HTTPService.java @@ -24,14 +24,14 @@ import de.sebse.fuplanner.tools.logging.Logger; */ public class HTTPService { - private RequestQueue requestQueue; + private final RequestQueue requestQueue; protected Logger log = new Logger(this); - public HTTPService(Context context) { + protected HTTPService(Context context) { this(context, false); } - public HTTPService(Context context, boolean followRedirects) { + protected HTTPService(Context context, boolean followRedirects) { requestQueue = Volley.newRequestQueue(context, new BetterHurlStack(followRedirects)); } diff --git a/app/src/main/java/de/sebse/fuplanner/tools/network/HttpRequest.java b/app/src/main/java/de/sebse/fuplanner/tools/network/HttpRequest.java index 3e53f97..646633a 100644 --- a/app/src/main/java/de/sebse/fuplanner/tools/network/HttpRequest.java +++ b/app/src/main/java/de/sebse/fuplanner/tools/network/HttpRequest.java @@ -12,7 +12,7 @@ import java.io.UnsupportedEncodingException; * Created by sebastian on 24.10.17. */ -public class HttpRequest extends Request { +class HttpRequest extends Request { private static final int MY_SOCKET_TIMEOUT_MS = 15000; private final Response.Listener mListener; diff --git a/app/src/main/java/de/sebse/fuplanner/tools/ui/weekview/DateTimeInterpreter.java b/app/src/main/java/de/sebse/fuplanner/tools/ui/weekview/DateTimeInterpreter.java index 4eae577..5f0bec9 100644 --- a/app/src/main/java/de/sebse/fuplanner/tools/ui/weekview/DateTimeInterpreter.java +++ b/app/src/main/java/de/sebse/fuplanner/tools/ui/weekview/DateTimeInterpreter.java @@ -6,7 +6,7 @@ import java.util.Calendar; * Created by Raquib on 1/6/2015. */ public interface DateTimeInterpreter { - public String interpretDate(Calendar date); + String interpretDate(Calendar date); - public String interpretTime(int hour, int minutes); + String interpretTime(int hour, int minutes); } diff --git a/app/src/main/java/de/sebse/fuplanner/tools/ui/weekview/WeekViewEvent.java b/app/src/main/java/de/sebse/fuplanner/tools/ui/weekview/WeekViewEvent.java index bc75e15..df08053 100644 --- a/app/src/main/java/de/sebse/fuplanner/tools/ui/weekview/WeekViewEvent.java +++ b/app/src/main/java/de/sebse/fuplanner/tools/ui/weekview/WeekViewEvent.java @@ -25,10 +25,6 @@ public class WeekViewEvent { private boolean mAllDay; private Shader mShader; - public WeekViewEvent() { - - } - /** * Initializes the event for week view. * @@ -65,27 +61,6 @@ public class WeekViewEvent { this.mName = name; } - /** - * Initializes the event for week view. - * - * @param id The id of the event. - * @param name Name of the event. - * @param startYear Year when the event starts. - * @param startMonth Month when the event starts. - * @param startDay Day when the event starts. - * @param startHour Hour (in 24-hour format) when the event starts. - * @param startMinute Minute when the event starts. - * @param endYear Year when the event ends. - * @param endMonth Month when the event ends. - * @param endDay Day when the event ends. - * @param endHour Hour (in 24-hour format) when the event ends. - * @param endMinute Minute when the event ends. - */ - @Deprecated - public WeekViewEvent(long id, String name, int startYear, int startMonth, int startDay, int startHour, int startMinute, int endYear, int endMonth, int endDay, int endHour, int endMinute) { - this(String.valueOf(id), name, startYear, startMonth, startDay, startHour, startMinute, endYear, endMonth, endDay, endHour, endMinute); - } - /** * Initializes the event for week view. * @@ -107,22 +82,6 @@ public class WeekViewEvent { this.mShader = shader; } - /** - * Initializes the event for week view. - * - * @param id The id of the event. - * @param name Name of the event. - * @param location The location of the event. - * @param startTime The time when the event starts. - * @param endTime The time when the event ends. - * @param allDay Is the event an all day event. - * @param shader the Shader of the event rectangle - */ - @Deprecated - public WeekViewEvent(long id, String name, String location, Calendar startTime, Calendar endTime, boolean allDay, Shader shader) { - this(String.valueOf(id), name, location, startTime, endTime, allDay, shader); - } - /** * Initializes the event for week view. * @@ -137,21 +96,6 @@ public class WeekViewEvent { this(id, name, location, startTime, endTime, allDay, null); } - /** - * Initializes the event for week view. - * - * @param id The id of the event. - * @param name Name of the event. - * @param location The location of the event. - * @param startTime The time when the event starts. - * @param endTime The time when the event ends. - * @param allDay Is the event an all day event - */ - @Deprecated - public WeekViewEvent(long id, String name, String location, Calendar startTime, Calendar endTime, boolean allDay) { - this(id, name, location, startTime, endTime, allDay, null); - } - /** * Initializes the event for week view. * @@ -165,45 +109,6 @@ public class WeekViewEvent { this(id, name, location, startTime, endTime, false); } - /** - * Initializes the event for week view. - * - * @param id The id of the event. - * @param name Name of the event. - * @param location The location of the event. - * @param startTime The time when the event starts. - * @param endTime The time when the event ends. - */ - @Deprecated - public WeekViewEvent(long id, String name, String location, Calendar startTime, Calendar endTime) { - this(id, name, location, startTime, endTime, false); - } - - /** - * Initializes the event for week view. - * - * @param id The id of the event specified as String. - * @param name Name of the event. - * @param startTime The time when the event starts. - * @param endTime The time when the event ends. - */ - public WeekViewEvent(String id, String name, Calendar startTime, Calendar endTime) { - this(id, name, null, startTime, endTime); - } - - /** - * Initializes the event for week view. - * - * @param id The id of the event. - * @param name Name of the event. - * @param startTime The time when the event starts. - * @param endTime The time when the event ends. - */ - @Deprecated - public WeekViewEvent(long id, String name, Calendar startTime, Calendar endTime) { - this(id, name, null, startTime, endTime); - } - public Calendar getStartTime() { return mStartTime; } @@ -295,7 +200,7 @@ public class WeekViewEvent { public List splitWeekViewEvents() { //This function splits the WeekViewEvent in WeekViewEvents by day - List events = new ArrayList(); + List events = new ArrayList<>(); // The first millisecond of the next day is still the same day. (no need to split events for this). Calendar endTime = (Calendar) this.getEndTime().clone(); endTime.add(Calendar.MILLISECOND, -1); diff --git a/app/src/main/java/de/sebse/fuplanner/tools/ui/weekview/WeekViewUtil.java b/app/src/main/java/de/sebse/fuplanner/tools/ui/weekview/WeekViewUtil.java index e05c7ca..47a22da 100644 --- a/app/src/main/java/de/sebse/fuplanner/tools/ui/weekview/WeekViewUtil.java +++ b/app/src/main/java/de/sebse/fuplanner/tools/ui/weekview/WeekViewUtil.java @@ -48,10 +48,7 @@ public class WeekViewUtil { */ public static boolean isSameDayAndHour(Calendar dateOne, Calendar dateTwo) { - if (dateTwo != null) { - return isSameDay(dateOne, dateTwo) && dateOne.get(Calendar.HOUR_OF_DAY) == dateTwo.get(Calendar.HOUR_OF_DAY); - } - return false; + return dateTwo != null && isSameDay(dateOne, dateTwo) && dateOne.get(Calendar.HOUR_OF_DAY) == dateTwo.get(Calendar.HOUR_OF_DAY); } /** @@ -78,8 +75,8 @@ public class WeekViewUtil { /** * Returns the amount of minutes in the given hours and minutes * - * @param hour - * @param minute + * @param hour Amount of hours + * @param minute Amount of minutes * @return amount of minutes in the given hours and minutes */ public static int getPassedMinutesInDay(int hour, int minute) { diff --git a/app/src/main/res/layout/list_all_show_more.xml b/app/src/main/res/layout/list_all_show_more.xml index 90a243a..562a428 100644 --- a/app/src/main/res/layout/list_all_show_more.xml +++ b/app/src/main/res/layout/list_all_show_more.xml @@ -1,6 +1,5 @@ diff --git a/app/src/main/res/layout/list_modetails_gradebook.xml b/app/src/main/res/layout/list_modetails_gradebook.xml index e095565..79a2e16 100644 --- a/app/src/main/res/layout/list_modetails_gradebook.xml +++ b/app/src/main/res/layout/list_modetails_gradebook.xml @@ -38,7 +38,7 @@ android:layout_below="@id/title" android:textColor="#343434" android:textSize="30sp" - android:text="/" + android:text="@string/grade_separator" android:layout_toLeftOf="@id/grade_max" android:layout_toStartOf="@id/grade_max" android:layout_alignTop="@id/title" /> diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png index f338cd262e2c545c03433cba6c509a025f09b480..237197205dd1e6f9009ee970b817b9672f00dc7c 100644 GIT binary patch literal 6160 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 literal 5238 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 diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png index ac605e69991324d51e1e6e695efc369db74801f4..4e595208c7e8b077ca576d38c784d0f64faa8de4 100644 GIT binary patch literal 3209 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 Y$XF!*Hq)$ delta 2811 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 N002ovPDHLkV1o4ZV9o#l diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png index 1d086c681afc578f623fa7ea9e8d2c54958b8cd3..67ac8ba3ac72e51a6fc0669c0eed9c49aeb7e40c 100644 GIT binary patch literal 9751 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 literal 8409 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 diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png index 526f3b55786605c4e342bf31f79515ecc806c9d8..801bb0a3b8d0d9f0dd7d271f8ec5e27c73bb068d 100644 GIT binary patch literal 19526 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

MfoJaO>gHQ`LSSF^imLsN1Oa`?&kr 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 rndf?>=weAzQ({DVw=GnGmfM7r;LP%Kb`hI2 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 diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png index 87ca296a2b8916e175535517a190584d0d7e9bc8..80e01171d1dd39582e98081d75f7cd73454ab0b6 100644 GIT binary patch literal 31206 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

K6*_!11a4CN0J+3g3ZtZL<7=v#3_a4(-V1u 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 diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 9beebeb..a6d345e 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -31,11 +31,12 @@ Vergangene Veranstaltungen Veranstaltungen Noten - Aktuelle Prozentzahl + Aktuelle Prozentzahl: %1$.2f \%% Offline-Modus Aktualisieren fehlgeschlagen… Hey, schau\' dir die neue KVV App an: %1$s "Aktualisieren" Heute Kantinen + / \ No newline at end of file diff --git a/app/src/main/res/values-ldrtl/strings.xml b/app/src/main/res/values-ldrtl/strings.xml new file mode 100644 index 0000000..d70d91f --- /dev/null +++ b/app/src/main/res/values-ldrtl/strings.xml @@ -0,0 +1,4 @@ + + + / + \ No newline at end of file diff --git a/app/src/main/res/values/drawables.xml b/app/src/main/res/values/drawables.xml index 52c6a6c..9036d27 100644 --- a/app/src/main/res/values/drawables.xml +++ b/app/src/main/res/values/drawables.xml @@ -1,4 +1,4 @@ - + @android:drawable/ic_menu_camera @android:drawable/ic_menu_gallery @android:drawable/ic_menu_slideshow diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index d48387a..a2c5d9b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,15 +1,11 @@ - + FU Planner - Open navigation drawer Close navigation drawer - Settings - - Overview Announcements - Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. + Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Description Announcements (%1$d) App Icon @@ -31,13 +27,13 @@ %1$s - %2$s Open Close - Hello blank fragment + Hello blank fragment Enter Offline Mode (%1$s) No items available! Past Events Events Gradebook - Current Percentage + Current Percentage: %1$.2f \%% Offline Mode Refresh failed… Hey, check out the new KVV app: %1$s @@ -47,4 +43,5 @@ Canteens %1$.2f€ / %2$.2f€ / %3$.2f€ %1$.2f€ + / diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index bd904cc..605d3a5 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -1,10 +1,10 @@ - + - -