package com.orgzly.android.ui;
import android.content.Intent;
import android.os.Bundle;
import com.orgzly.BuildConfig;
import com.orgzly.R;
import com.orgzly.android.Book;
import com.orgzly.android.Shelf;
import com.orgzly.android.ui.fragments.BooksFragment;
import com.orgzly.android.ui.util.ActivityUtils;
import com.orgzly.android.util.LogUtils;
/**
* Activity for choosing a notebook, used e.g. for creating shortcuts.
*/
public class BookChooserActivity extends CommonActivity
implements BooksFragment.BooksFragmentListener {
public static final String TAG = BookChooserActivity.class.getName();
private BooksFragment mBooksFragment;
private String action;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (BuildConfig.LOG_DEBUG) LogUtils.d(TAG, savedInstanceState);
action = getIntent().getAction();
setContentView(R.layout.activity_bookchooser);
getSupportActionBar().setTitle(R.string.pick_a_notebook);
/* Set status and action bar colors depending on the fragment. */
ActivityUtils.setColorsForFragment(this, null);
setupFragments(savedInstanceState);
}
private void setupFragments(Bundle savedInstanceState) {
if (savedInstanceState == null) {
mBooksFragment = BooksFragment.getInstance(false, false);
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.activity_bookchooser_main, mBooksFragment, BooksFragment.FRAGMENT_TAG)
.commit();
} else {
mBooksFragment = (BooksFragment) getSupportFragmentManager().findFragmentByTag(BooksFragment.FRAGMENT_TAG);
}
}
@Override
public void onBookClicked(long bookId) {
if (action.equals(Intent.ACTION_CREATE_SHORTCUT)) {
Intent launchIntent = new Intent(this, MainActivity.class);
launchIntent.putExtra(MainActivity.EXTRA_BOOK_ID, bookId);
Intent shortcut = new Intent(Intent.ACTION_CREATE_SHORTCUT);
Shelf shelf = new Shelf(this);
String title = Book.getFragmentTitleForBook(shelf.getBook(bookId));
if(title == null) {
setResult(RESULT_CANCELED, shortcut);
finish();
return;
}
shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, title);
Intent.ShortcutIconResource icon = Intent.ShortcutIconResource.fromContext(this, R.drawable.cic_orgzly_logo_with_notebook);
shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);
shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, launchIntent);
setResult(RESULT_OK, shortcut);
finish();
}
}
@Override
public void announceChanges(String fragmentTag, CharSequence title, CharSequence subTitle, int selectionCount) {
}
@Override
public void onBookCreateRequest() {
}
@Override
public void onBookDeleteRequest(long bookId) {
}
@Override
public void onBookRenameRequest(long bookId) {
}
@Override
public void onBookLinkSetRequest(long bookId) {
}
@Override
public void onForceSaveRequest(long bookId) {
}
@Override
public void onForceLoadRequest(long bookId) {
}
@Override
public void onBookExportRequest(long bookId) {
}
@Override
public void onBookLoadRequest() {
}
}