mirror of
https://github.com/ankidroid/Anki-Android.git
synced 2024-09-20 12:02:16 +02:00
Merge pull request #564 from timrae/StudyOptionsFragmentCrash
Fix some issues on tablet
This commit is contained in:
commit
45730b43d0
@ -828,7 +828,10 @@ public class DeckPicker extends NavigationDrawerActivity implements OnShowcaseEv
|
||||
m.setData(getIntent().getExtras());
|
||||
mHandler.sendMessage(m);
|
||||
}
|
||||
mShowShowcaseView = true;
|
||||
if (!mFragmented) {
|
||||
// Show the showcase view here if normal view, otherwise wait for fragment to finish loading first
|
||||
mShowShowcaseView = true;
|
||||
}
|
||||
AnkiDroidApp.getCompat().invalidateOptionsMenu(this);
|
||||
// prepare deck counts and mini-today-statistic
|
||||
loadCounts();
|
||||
@ -2147,4 +2150,11 @@ public class DeckPicker extends NavigationDrawerActivity implements OnShowcaseEv
|
||||
mShowcaseDialog.hide();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void reloadShowcaseView() {
|
||||
hideShowcaseView();
|
||||
mShowShowcaseView = true;
|
||||
supportInvalidateOptionsMenu();
|
||||
}
|
||||
}
|
||||
|
@ -288,7 +288,10 @@ public class StudyOptionsFragment extends Fragment implements LoaderManager.Load
|
||||
// Show the congratulations message if there are no cards scheduled
|
||||
showCongratsIfNeeded();
|
||||
dismissCollectionLoadingDialog();
|
||||
|
||||
// rebuild action bar so that Showcase works correctly
|
||||
if (mFragmented) {
|
||||
((DeckPicker) getActivity()).reloadShowcaseView();
|
||||
}
|
||||
}
|
||||
|
||||
private void showCongratsIfNeeded() {
|
||||
@ -362,14 +365,14 @@ public class StudyOptionsFragment extends Fragment implements LoaderManager.Load
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
if (AnkiDroidApp.colIsOpen()) {
|
||||
if (colOpen()) {
|
||||
if (Utils.now() > getCol().getSched().getDayCutoff()) {
|
||||
updateValuesFromDeck(true);
|
||||
} else {
|
||||
updateValuesFromDeck();
|
||||
}
|
||||
showOrHideUnburyButton();
|
||||
}
|
||||
showOrHideUnburyButton();
|
||||
}
|
||||
|
||||
|
||||
@ -596,7 +599,7 @@ public class StudyOptionsFragment extends Fragment implements LoaderManager.Load
|
||||
styledDialog.setTitle(res.getStringArray(R.array.custom_study_options_labels)[mCustomDialogChoice]);
|
||||
switch (mCustomDialogChoice + 1) {
|
||||
case CUSTOM_STUDY_NEW:
|
||||
if (AnkiDroidApp.colIsOpen()) {
|
||||
if (colOpen()) {
|
||||
Collection col = getCol();
|
||||
mCustomStudyTextView1.setText(res.getString(R.string.custom_study_new_total_new, col
|
||||
.getSched().totalNewForCurrentDeck()));
|
||||
@ -608,7 +611,7 @@ public class StudyOptionsFragment extends Fragment implements LoaderManager.Load
|
||||
new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
if (AnkiDroidApp.colIsOpen()) {
|
||||
if (colOpen()) {
|
||||
try {
|
||||
int n = Integer.parseInt(mCustomStudyEditText.getText().toString());
|
||||
AnkiDroidApp.getSharedPrefs(getActivity()).edit()
|
||||
@ -633,7 +636,7 @@ public class StudyOptionsFragment extends Fragment implements LoaderManager.Load
|
||||
break;
|
||||
|
||||
case CUSTOM_STUDY_REV:
|
||||
if (AnkiDroidApp.colIsOpen()) {
|
||||
if (colOpen()) {
|
||||
Collection col = getCol();
|
||||
mCustomStudyTextView1.setText(res.getString(R.string.custom_study_rev_total_rev, col
|
||||
.getSched().totalRevForCurrentDeck()));
|
||||
@ -645,7 +648,7 @@ public class StudyOptionsFragment extends Fragment implements LoaderManager.Load
|
||||
new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
if (AnkiDroidApp.colIsOpen()) {
|
||||
if (colOpen()) {
|
||||
try {
|
||||
int n = Integer.parseInt(mCustomStudyEditText.getText().toString());
|
||||
AnkiDroidApp.getSharedPrefs(getActivity()).edit()
|
||||
@ -832,7 +835,7 @@ public class StudyOptionsFragment extends Fragment implements LoaderManager.Load
|
||||
|
||||
private void createFilteredDeck(JSONArray delays, Object[] terms, Boolean resched) {
|
||||
JSONObject dyn;
|
||||
if (AnkiDroidApp.colIsOpen()) {
|
||||
if (colOpen()) {
|
||||
Collection col = getCol();
|
||||
try {
|
||||
String deckName = col.getDecks().current().getString("name");
|
||||
@ -904,7 +907,7 @@ public class StudyOptionsFragment extends Fragment implements LoaderManager.Load
|
||||
|
||||
private void updateValuesFromDeck(boolean reset) {
|
||||
String fullName;
|
||||
if (!AnkiDroidApp.colIsOpen()) {
|
||||
if (!colOpen()) {
|
||||
return;
|
||||
}
|
||||
JSONObject deck = getCol().getDecks().current();
|
||||
@ -1028,7 +1031,7 @@ public class StudyOptionsFragment extends Fragment implements LoaderManager.Load
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case R.id.action_undo:
|
||||
if (AnkiDroidApp.colIsOpen()) {
|
||||
if (colOpen()) {
|
||||
getCol().undo();
|
||||
resetAndUpdateValuesFromDeck();
|
||||
finishCongrats();
|
||||
@ -1070,7 +1073,7 @@ public class StudyOptionsFragment extends Fragment implements LoaderManager.Load
|
||||
if (resultCode == DeckPicker.RESULT_MEDIA_EJECTED) {
|
||||
closeStudyOptions(DeckPicker.RESULT_MEDIA_EJECTED);
|
||||
} else {
|
||||
if (!AnkiDroidApp.colIsOpen()) {
|
||||
if (!colOpen()) {
|
||||
((AnkiActivity) getActivity()).startLoadingCollection();
|
||||
mDontSaveOnStop = false;
|
||||
return;
|
||||
|
Loading…
Reference in New Issue
Block a user