package de.jeisfeld.augendiagnoselib.activities; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import de.jeisfeld.augendiagnoselib.R; import de.jeisfeld.augendiagnoselib.fragments.ListFoldersBaseFragment; import de.jeisfeld.augendiagnoselib.util.PreferenceUtil; /** * Base activity to display the list of subfolders of a folder Abstract class - child classes determine the detailed * actions. The folders should contain eye photos (following the name policy). */ public abstract class ListFoldersBaseActivity extends StandardActivity { /** * The parent folder. */ @Nullable private String mParentFolder; /** * The fragment displaying the list of folders. */ private ListFoldersBaseFragment mListFoldersFragment; // OVERRIDABLE @Override protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); mParentFolder = PreferenceUtil.getSharedPreferenceString(R.string.key_folder_photos); } /** * Populate the ListFoldersBaseFragment with parameters. * * @param fragment The fragment to be populated. */ protected final void setFragmentParameters(@NonNull final ListFoldersBaseFragment fragment) { fragment.setParameters(mParentFolder); } /** * Display the ListFoldersBaseFragment in the main listFoldersFragment container. * * @param fragment The fragment to be displayed. * @param tag The tag name of the fragment. */ protected final void displayOnFullScreen(final ListFoldersBaseFragment fragment, final String tag) { getFragmentManager().beginTransaction().add(R.id.fragment_container, fragment, tag).commit(); getFragmentManager().executePendingTransactions(); } @Override protected final int getHelpResource() { boolean helpOverviewInListFolders = Boolean.parseBoolean(getString(R.string.help_overview_in_list_folders)); if (helpOverviewInListFolders) { return R.string.html_overview; } else { return R.string.html_display_photos; } } // Setters and getters @Nullable protected final String getParentFolder() { return mParentFolder; } public final ListFoldersBaseFragment getListFoldersFragment() { return mListFoldersFragment; } protected final void setListFoldersFragment(final ListFoldersBaseFragment listFoldersFragment) { this.mListFoldersFragment = listFoldersFragment; } }