/******************************************************************************* * ____.____ __.____ ___ _____ * | | |/ _| | \ / _ \ ______ ______ * | | < | | / / /_\ \\____ \\____ \ * /\__| | | \| | / / | \ |_> > |_> > * \________|____|__ \______/ \____|__ / __/| __/ * \/ \/|__| |__| * * Copyright (c) 2014-2015 Paul "Marunjar" Pretsch * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/> ******************************************************************************/ package org.voidsink.anewjkuapp.utils; import android.app.Activity; import android.content.Context; import android.graphics.Color; import android.support.v4.app.NavUtils; import android.support.v7.app.ActionBar; import android.support.v7.app.AppCompatActivity; import android.text.TextUtils; import android.view.MenuItem; import android.widget.TextView; import org.voidsink.anewjkuapp.PreferenceWrapper; import org.voidsink.anewjkuapp.R; import org.voidsink.anewjkuapp.kusss.Assessment; public class UIUtils { private UIUtils() { } public static boolean handleUpNavigation(Activity activity, MenuItem item) { switch (item.getItemId()) { case android.R.id.home: if (activity instanceof AppCompatActivity) { ActionBar actionBar = ((AppCompatActivity) activity).getSupportActionBar(); if (actionBar != null && (actionBar.getDisplayOptions() & ActionBar.DISPLAY_HOME_AS_UP) != 0) { // app icon in action bar clicked; goto parent activity. NavUtils.navigateUpFromSameTask(activity); return true; } } return false; default: return false; } } public static void setTextAndVisibility(TextView v, String text) { if (!TextUtils.isEmpty(text)) { v.setText(text); v.setVisibility(TextView.VISIBLE); } else { v.setVisibility(TextView.GONE); } } public static void applyTheme(Activity activity) { activity.setTheme(getAppThemeResId(activity)); } public static int getAppThemeResId(Context context) { if (PreferenceWrapper.getUseLightDesign(context)) { return R.style.AppTheme_Light; } else { return R.style.AppTheme; } } public static String getChipGradeText(Context context, Assessment assessment) { if (assessment != null) { if (assessment.getGrade().isNumber()) { return AppUtils.format(context, "%d", assessment.getGrade().getValue()); } if (assessment.getGrade().isPositive()) { return "\u2713"; } else { return "\u2717"; } } return "?"; } public static int getChipGradeColor(Assessment assessment) { if (assessment != null) { return assessment.getGrade().getColor(); } return Color.GRAY; } public static String getChipGradeEcts(Context context, double ects) { return AppUtils.format(context, "%.2f ECTS", ects); } }