package org.iilab.pb; import org.iilab.pb.adapter.PageCheckListAdapter; import org.iilab.pb.common.AppConstants; import org.iilab.pb.common.AppUtil; import org.iilab.pb.common.ApplicationSettings; import org.iilab.pb.common.MyTagHandler; import org.iilab.pb.data.PBDatabase; import org.iilab.pb.model.Page; import android.content.ComponentName; import android.content.Intent; import android.content.pm.PackageManager; import android.graphics.Color; import android.os.Bundle; import android.text.Html; import android.util.DisplayMetrics; import android.view.View; import android.widget.Button; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.TextView; /** * Created by aoe on 1/16/14. */ public class WizardModalActivity extends BaseFragmentActivity { Page currentPage; PageCheckListAdapter pageCheckListAdapter; int parentActivity; DisplayMetrics metrics; LinearLayout llWarning, llStatus; TextView tvTitle, tvContent, tvIntro, tvWarning, tvStatus; ListView checkList; Button bAction1, bAction2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.wizard_modal); metrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(metrics); tvTitle = (TextView) findViewById(R.id.fragment_title); tvIntro = (TextView) findViewById(R.id.fragment_intro); tvContent = (TextView) findViewById(R.id.fragment_contents); llWarning = (LinearLayout) findViewById(R.id.ll_fragment_warning); tvWarning = (TextView) findViewById(R.id.fragment_warning); llStatus = (LinearLayout) findViewById(R.id.ll_fragment_status); tvStatus = (TextView) findViewById(R.id.fragment_status); bAction1 = (Button) findViewById(R.id.b_action1); bAction2 = (Button) findViewById(R.id.b_action2); checkList = (ListView) findViewById(R.id.lv_checklist); String pageId = getIntent().getExtras().getString("page_id"); String selectedLang = ApplicationSettings.getSelectedLanguage(this); parentActivity = getIntent().getExtras().getInt("parent_activity"); PBDatabase dbInstance = new PBDatabase(this); dbInstance.open(); currentPage = dbInstance.retrievePage(pageId, selectedLang); dbInstance.close(); tvTitle.setText(currentPage.getTitle()); if(currentPage.getStatus() == null || currentPage.getStatus().size() == 0) llStatus.setVisibility(View.GONE); else{ String color = currentPage.getStatus().get(0).getColor(); if(color.equals("red")) tvStatus.setTextColor(Color.RED); else tvStatus.setTextColor(Color.GREEN); tvStatus.setText(currentPage.getStatus().get(0).getTitle()); } if(currentPage.getIntroduction() == null) tvIntro.setVisibility(View.GONE); else tvIntro.setText(currentPage.getIntroduction()); if(currentPage.getWarning() == null) llWarning.setVisibility(View.GONE); else tvWarning.setText(currentPage.getWarning()); if(currentPage.getContent() == null) tvContent.setVisibility(View.GONE); else tvContent.setText(Html.fromHtml(currentPage.getContent(), null, new MyTagHandler())); if (currentPage.getAction().size() > 1) { bAction2.setText(currentPage.getAction().get(1).getTitle()); bAction2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String pageId = currentPage.getAction().get(1).getLink(); if (pageId.equals("close")) { /* if (parentActivity == AppConstants.FROM_WIZARD_ACTIVITY) { // ApplicationSettings.setFirstRun(WizardModalActivity.this, false); getPackageManager().setComponentEnabledSetting( new ComponentName("org.iilab.pb", "org.iilab.pb.HomeActivity-calculator"), PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP); getPackageManager().setComponentEnabledSetting( new ComponentName("org.iilab.pb", "org.iilab.pb.HomeActivity-setup"), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP); } */ Intent i = new Intent(WizardModalActivity.this, CalculatorActivity.class); i = AppUtil.clearBackStack(i); startActivity(i); overridePendingTransition(R.anim.show_from_bottom, R.anim.hide_to_top); callFinishActivityReceiver(); finish(); } else { if (parentActivity == AppConstants.FROM_WIZARD_ACTIVITY) { // ApplicationSettings.setFirstRun(WizardModalActivity.this, true); AppConstants.IS_BACK_BUTTON_PRESSED = true; } finish(); } } }); } else { bAction2.setVisibility(View.GONE); } if (currentPage.getAction().size() > 0) { bAction1.setText(currentPage.getAction().get(0).getTitle()); bAction1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String pageId = currentPage.getAction().get(0).getLink(); if (pageId.equals("close")) { /* if (parentActivity == AppConstants.FROM_WIZARD_ACTIVITY) { // ApplicationSettings.setFirstRun(WizardModalActivity.this, false); getPackageManager().setComponentEnabledSetting( new ComponentName("org.iilab.pb", "org.iilab.pb.HomeActivity-calculator"), PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP); getPackageManager().setComponentEnabledSetting( new ComponentName("org.iilab.pb", "org.iilab.pb.HomeActivity-setup"), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP); } */ Intent i = new Intent(WizardModalActivity.this, CalculatorActivity.class); // i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); i = AppUtil.clearBackStack(i); startActivity(i); overridePendingTransition(R.anim.show_from_bottom, R.anim.hide_to_top); callFinishActivityReceiver(); finish(); } else { if (parentActivity == AppConstants.FROM_WIZARD_ACTIVITY) { // ApplicationSettings.setFirstRun(WizardModalActivity.this, true); AppConstants.IS_BACK_BUTTON_PRESSED = true; } finish(); } } }); } else { bAction1.setVisibility(View.GONE); } pageCheckListAdapter = new PageCheckListAdapter(this, null); checkList.setAdapter(pageCheckListAdapter); pageCheckListAdapter.setData(currentPage.getChecklist()); AppUtil.updateImages(true, currentPage.getContent(), WizardModalActivity.this, metrics, tvContent, AppConstants.IMAGE_INLINE); } @Override public void onBackPressed() { super.onBackPressed(); if (parentActivity == AppConstants.FROM_WIZARD_ACTIVITY) { // ApplicationSettings.setFirstRun(WizardModalActivity.this, true); AppConstants.IS_BACK_BUTTON_PRESSED = true; } } @Override protected void onStop() { super.onStop(); callFinishActivityReceiver(); finish(); } }