package com.ichi2.compat; import android.annotation.TargetApi; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.preference.PreferenceActivity; import android.support.v4.app.TaskStackBuilder; import com.ichi2.anki.AnkiActivity; import com.ichi2.anki.Preferences; import io.requery.android.database.sqlite.SQLiteDatabase; import timber.log.Timber; /** Implementation of {@link Compat} for SDK level 11 (Honeycomb) */ @TargetApi(11) public class CompatV11 extends CompatV10 implements Compat { /** * Restart the activity and discard old backstack, creating it new from the heirarchy in the manifest */ public void restartActivityInvalidateBackstack(AnkiActivity activity) { Timber.i("AnkiActivity -- restartActivityInvalidateBackstack()"); Intent intent = new Intent(); intent.setClass(activity, activity.getClass()); TaskStackBuilder stackBuilder = TaskStackBuilder.create(activity); stackBuilder.addNextIntentWithParentStack(intent); stackBuilder.startActivities(new Bundle()); activity.finishWithoutAnimation(); } @Override public void disableDatabaseWriteAheadLogging(SQLiteDatabase db) { // disableWriteAheadLogging() method only available from API 16 db.rawQuery("PRAGMA journal_mode = DELETE", null); } @Override public Intent getPreferenceSubscreenIntent(Context context, String subscreen) { Intent i = new Intent(context, Preferences.class); i.putExtra(PreferenceActivity.EXTRA_SHOW_FRAGMENT, "com.ichi2.anki.Preferences$SettingsFragment"); Bundle extras = new Bundle(); extras.putString("subscreen", subscreen); i.putExtra(PreferenceActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS, extras); i.putExtra(PreferenceActivity.EXTRA_NO_HEADERS, true); return i; } }