package com.WazaBe.HoloEverywhere.app;
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup.LayoutParams;
import com.WazaBe.HoloEverywhere.FontLoader;
import com.WazaBe.HoloEverywhere.LayoutInflater;
import com.WazaBe.HoloEverywhere.ThemeManager;
import com.WazaBe.HoloEverywhere.preference.SharedPreferences;
import com.WazaBe.HoloEverywhere.util.BaseSharedPreferences;
public abstract class Activity extends android.support.v4.app.FragmentActivity
implements Base {
private boolean forceThemeApply = false;
@Override
public void addContentView(View view, LayoutParams params) {
super.addContentView(FontLoader.apply(view), params);
}
@Override
public LayoutInflater getLayoutInflater() {
return LayoutInflater.from(this);
}
@Override
public SharedPreferences getSupportSharedPreferences(String name, int mode) {
return new BaseSharedPreferences(getSharedPreferences(name, mode));
}
@Override
public Object getSystemService(String name) {
return LayoutInflater.getSystemService(super.getSystemService(name));
}
@Override
public boolean isABSSupport() {
return false;
}
public boolean isForceThemeApply() {
return forceThemeApply;
}
@Override
public void onBackPressed() {
if (!getSupportFragmentManager().popBackStackImmediate()) {
finish();
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
ThemeManager.applyTheme(this, forceThemeApply);
super.onCreate(savedInstanceState);
}
@Override
@SuppressLint("NewApi")
public void onSupportBackPressed() {
onBackPressed();
}
@Override
public void setContentView(int layoutResID) {
super.setContentView(FontLoader.inflate(this, layoutResID));
}
@Override
public void setContentView(View view) {
super.setContentView(FontLoader.apply(view));
}
@Override
public void setContentView(View view, LayoutParams params) {
super.setContentView(FontLoader.apply(view), params);
}
public void setForceThemeApply(boolean forceThemeApply) {
this.forceThemeApply = forceThemeApply;
}
}