/*
Swisscom Safe Connect
Copyright (C) 2014 Swisscom
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 com.swisscom.safeconnect.activity;
import android.app.Activity;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.LayoutRes;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.widget.ImageView;
import android.widget.TextView;
import com.swisscom.safeconnect.R;
import com.swisscom.safeconnect.utils.Config;
import com.swisscom.safeconnect.utils.Fonts;
/**
* Created by vadim on 18.09.14.
*/
public class PipeActivity extends AppCompatActivity {
protected TextView tvTitle;
private ImageView imgBackBtn;
private View actionBarView;
private ImageView imgNova;
protected Toolbar toolbar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (Build.VERSION.SDK_INT >= 21) {
Window window = getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
window.setStatusBarColor(getResources().getColor(R.color.darkColorPrimary));
}
Fonts.init(this);
Config.getInstance().init(this);
}
@Override
public void setContentView(@LayoutRes int layoutResID) {
super.setContentView(layoutResID);
initActionBar();
}
public void setContentView(@LayoutRes int layoutResID, boolean initActionBar) {
super.setContentView(layoutResID);
if (initActionBar) {
initActionBar();
}
}
protected void initActionBar() {
initActionBar(this, 0, null);
}
protected void initActionBar(Activity activity, int stringId, View.OnClickListener listener) {
toolbar = (Toolbar) findViewById(R.id.toolbar);
if (toolbar == null) return;
setSupportActionBar(toolbar);
ActionBar ab = getSupportActionBar();
if (ab != null) {
ab.setDisplayShowTitleEnabled(false);
ab.setDisplayShowHomeEnabled(false);
}
actionBarView = activity.getLayoutInflater().inflate(R.layout.actionbar, null);
tvTitle = (TextView) actionBarView.findViewById(R.id.tv_title);
imgBackBtn = (ImageView) actionBarView.findViewById(R.id.img_back_btn);
imgNova = (ImageView) actionBarView.findViewById(R.id.img_nova);
if (tvTitle != null && stringId != 0) {
tvTitle.setText(stringId);
}
if (stringId != 0) {
imgNova.setVisibility(View.GONE);
}
setOnBackPressedListener(listener);
Toolbar.LayoutParams layoutParams = new Toolbar.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
toolbar.addView(actionBarView, layoutParams);
}
protected void initActionBar(Activity activity, int stringId, boolean homeAsUpEnabled) {
if (homeAsUpEnabled) {
initActionBar(activity, stringId, new View.OnClickListener() {
@Override
public void onClick(View v) {
onBackPressed();
}
});
} else {
initActionBar(activity, stringId, null);
}
}
protected void setOnBackPressedListener(View.OnClickListener listener) {
if (listener != null) {
actionBarView.setOnClickListener(listener);
imgBackBtn.setVisibility(View.VISIBLE);
} else {
imgBackBtn.setVisibility(View.GONE);
actionBarView.setOnClickListener(null);
}
}
}