/*******************************************************************************
* ____.____ __.____ ___ _____
* | | |/ _| | \ / _ \ ______ ______
* | | < | | / / /_\ \\____ \\____ \
* /\__| | | \| | / / | \ |_> > |_> >
* \________|____|__ \______/ \____|__ / __/| __/
* \/ \/|__| |__|
*
* 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.base;
import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.app.AppCompatDelegate;
import android.support.v7.widget.Toolbar;
import org.voidsink.anewjkuapp.R;
import org.voidsink.anewjkuapp.analytics.Analytics;
import org.voidsink.anewjkuapp.utils.Consts;
import org.voidsink.anewjkuapp.utils.UIUtils;
import uk.co.chrisjenx.calligraphy.CalligraphyContextWrapper;
public class ThemedActivity extends AppCompatActivity {
static {
AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
UIUtils.applyTheme(this);
super.onCreate(savedInstanceState);
initActionBar();
}
@Override
public void setContentView(int layoutResID) {
super.setContentView(layoutResID);
Toolbar toolbar = (Toolbar) findViewById(R.id.main_toolbar);
setSupportActionBar(toolbar);
initActionBar();
}
@Override
protected void attachBaseContext(Context newBase) {
super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase));
}
protected final void initActionBar() {
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
Fragment f = getSupportFragmentManager().findFragmentByTag(Consts.ARG_FRAGMENT_TAG);
if (f instanceof StackedFragment) {
actionBar.setDisplayHomeAsUpEnabled(((StackedFragment) f).getDisplayHomeAsUpEnabled());
CharSequence title = ((StackedFragment) f).getTitle(this);
if (title != null) {
actionBar.setTitle(title);
} else {
actionBar.setTitle(R.string.app_name);
}
} else {
actionBar.setDisplayHomeAsUpEnabled(true);
}
onInitActionBar(actionBar);
}
}
protected void onInitActionBar(ActionBar actionBar) {
}
@Override
protected void onStart() {
super.onStart();
final String screenName = getScreenName();
if (screenName != null && !screenName.isEmpty()) {
Analytics.sendScreen(this, screenName);
}
}
/*
* returns screen name for logging activity
*/
protected String getScreenName() {
return null;
}
}