/* * Copyright (c) 2014. The Trustees of Indiana University. * * This version of the code is licensed under the MPL 2.0 Open Source license with additional * healthcare disclaimer. If the user is an entity intending to commercialize any application * that uses this code in a for-profit venture, please contact the copyright holder. */ package com.muzima.view; import android.support.v7.app.ActionBar; import android.support.v7.app.AppCompatActivity; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.preference.PreferenceManager; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import com.muzima.MuzimaApplication; import com.muzima.R; import com.muzima.domain.Credentials; public class BaseFragmentActivity extends AppCompatActivity { private DefaultMenuDropDownHelper dropDownHelper; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setActionBar(); dropDownHelper = new DefaultMenuDropDownHelper(this); } private void setActionBar() { ActionBar supportActionBar = getSupportActionBar(); if (supportActionBar != null){ supportActionBar.setDisplayHomeAsUpEnabled(true); supportActionBar.setDisplayShowTitleEnabled(true); } } @Override public void onUserInteraction() { ((MuzimaApplication) getApplication()).restartTimer(); super.onUserInteraction(); } @Override protected void onResume() { super.onResume(); ((MuzimaApplication) getApplication()).setCurrentActivity(this); checkDisclaimerOrCredentials(); } private void checkDisclaimerOrCredentials() { SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this); String disclaimerKey = getResources().getString(R.string.preference_disclaimer); boolean disclaimerAccepted = settings.getBoolean(disclaimerKey, false); Log.i("Disclaimer", "Disclaimer is accepted: " + disclaimerAccepted); if (!disclaimerAccepted) { Intent intent = new Intent(this, DisclaimerActivity.class); startActivity(intent); finish(); } else if (new Credentials(this).isEmpty()) { dropDownHelper.launchLoginActivity(false); } } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(DefaultMenuDropDownHelper.DEFAULT_MENU, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { boolean result = dropDownHelper.onOptionsItemSelected(item); return result || super.onOptionsItemSelected(item); } protected void removeSettingsMenu(Menu menu) { dropDownHelper.removeSettingsMenu(menu); } }