package com.moonshot.dev4x.ui;
import com.moonshot.dev4x.R;
import com.moonshot.dev4x.helpers.DatabaseHelper;
import com.moonshot.dev4x.helpers.SharedPreferencesHelper;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.util.Log;
import android.view.Window;
import android.view.WindowManager;
public class MainActivity extends FragmentActivity{
DatabaseHelper db;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//Setting up full screen mode for kisok mode
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
//////////////
setContentView(R.layout.activity_main);
//Creating Home Fragment and Replace it's layout to content holder
Fragment homeFragment = new HomeFragment();
getSupportFragmentManager().beginTransaction()
.replace(R.id.contentHolder, homeFragment).commit();
//Checking if user is coming back to this activity after completing video then start the assessment
//TODO if a result is expected use ActivityForResult method
if(getIntent().hasExtra("assesment")){
FragmentManager fragmentManager = getSupportFragmentManager();
Fragment assessmentFragment = new AssesmentFragment();
Bundle bundle = new Bundle();
bundle.putString("contentId", String.valueOf(getIntent().getExtras().getInt("contentId")));
bundle.putString("nodeId", String.valueOf(getIntent().getExtras().getInt("nodeId")));
bundle.putString("skillId", String.valueOf(getIntent().getExtras().getInt("skillId")));
assessmentFragment.setArguments(bundle);
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.contentHolder, assessmentFragment,"ASSESSMENT_FRAGMENT");
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
}
}
@Override
public void onResume() {
super.onResume();
//Check if there is a value of nodeId in shared preference
SharedPreferencesHelper spHelper = new SharedPreferencesHelper(this);
String nodeId = spHelper.getPreferenceValue("node_id");
String contentId = spHelper.getPreferenceValue("content_id");
String skillId = spHelper.getPreferenceValue("skill_id");
if(nodeId != null){
Log.v("Node","There is a node id");
//Node id found, that means user is coming back from external app to our app.
//Record end event in database
db = new DatabaseHelper(this);
db.createVideoConsumptionSessionEvent(Integer.parseInt(contentId),Integer.parseInt(nodeId),Integer.parseInt(skillId),"complete");
FragmentManager fragmentManager = getSupportFragmentManager();
Fragment assessmentFragment = new AssesmentFragment();
Bundle bundle = new Bundle();
bundle.putString("contentId",contentId);
bundle.putString("nodeId", nodeId);
bundle.putString("skillId", skillId);
assessmentFragment.setArguments(bundle);
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.contentHolder, assessmentFragment,"ASSESSMENT_FRAGMENT");
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
//Remove node id from shared preference
spHelper.removePreferenceValue("content_id");
spHelper.removePreferenceValue("node_id");
spHelper.removePreferenceValue("skill_id");
}else{
Log.v("Node","There is no node id");
}
}
}