/** * Copyright (c) 2015 unfoldingWord * http://creativecommons.org/licenses/MIT/ * See LICENSE file for details. * Contributors: * PJ Fechner <pj@actsmedia.com> */ package activity; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.os.Bundle; import android.preference.PreferenceManager; import org.unfoldingword.mobile.R; import java.util.List; import activity.readingSelection.InitialScreenActivity; import model.DaoDBHelper; import model.daoModels.DaoSession; import model.daoModels.Project; import services.UWPreLoaderService; /** * Created by Acts Media Inc. on 2/12/14. */ public class SplashScreenActivity extends UWBaseActivity { private static String TAG = "SplashScreenActivity"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_splash_screen); setPreferences(); initializeDB(); } @Override protected void onResume() { super.onResume(); registerPreloadReceiver(); } private void registerPreloadReceiver(){ IntentFilter filter = new IntentFilter(); filter.addAction(UWPreLoaderService.BROAD_CAST_PRELOAD_SUCCESSFUL); registerReceiver(receiver, filter); } private void unRegisterPreloadReceiver(){ unregisterReceiver(receiver); } @Override protected void onPause() { unRegisterPreloadReceiver(); super.onPause(); } /** * Default Initialization of components */ private void setPreferences() { PreferenceManager.setDefaultValues(this, R.xml.pref_general, false); } private void initializeDB(){ DaoDBHelper.getDaoSession(getApplicationContext(), new DaoDBHelper.AsynchronousDatabaseAccessorCompletion() { @Override public void loadedSession(DaoSession session) { List<Project> existingProjects = Project.getAllModels(session); goToInitialActivity(); // if(verifyOrRequestStoragePermissions()) { // DaoDBHelper.saveDatabase(getApplicationContext()); // goToInitialActivity(); // } // preLoadData(); } }); } private void preLoadData(){ registerPreloadReceiver(); startService(new Intent(getApplicationContext(), UWPreLoaderService.class)); } private void goToInitialActivity(){ startActivity(new Intent(SplashScreenActivity.this, InitialScreenActivity.class)); overridePendingTransition(R.anim.abc_fade_in, R.anim.abc_fade_out); finish(); } private BroadcastReceiver receiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { goToInitialActivity(); } }; @Override public AnimationParadigm getAnimationParadigm() { return AnimationParadigm.ANIMATION_STOCK; } }