package net.bradmont.openmpd; import net.bradmont.openmpd.*; import net.bradmont.openmpd.models.*; import net.bradmont.openmpd.views.*; import net.bradmont.openmpd.controllers.*; import net.bradmont.supergreen.*; import net.bradmont.supergreen.models.ModelList; import android.app.AlarmManager; import android.app.AlertDialog; import android.app.FragmentTransaction; import android.app.PendingIntent; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; import android.database.sqlite.*; import android.os.Bundle; import android.support.v4.app.Fragment; import net.bradmont.openmpd.helpers.Log; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import java.util.Calendar; import java.util.GregorianCalendar; import java.lang.Runnable; import net.bradmont.openmpd.BaseActivity; import net.bradmont.openmpd.fragments.*; import net.bradmont.openmpd.activities.*; import net.bradmont.openmpd.R; public class HomeActivity extends BaseActivity { public HomeActivity() { super(R.string.app_name); } /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); SharedPreferences prefs = getSharedPreferences("openmpd", Context.MODE_PRIVATE); switch (prefs.getInt("onboardState", OpenMPD.ONBOARD_FIRST_RUN)){ case OpenMPD.ONBOARD_FINISHED: break; case OpenMPD.ONBOARD_FIRST_RUN: case OpenMPD.ONBOARD_ACCOUNT_ADDED: Intent switchIntent = new Intent(this, OnboardActivity.class); startActivity(switchIntent); finish(); break; case OpenMPD.ONBOARD_IMPORTING: // TODO switchIntent = new Intent(this, ImportActivity.class); startActivity(switchIntent); finish(); // todo: stop this activity } // if it hasn't been done, populate our QuickMessage table QuickMessage q = new QuickMessage(); ModelList messages = q.getAll(); if (messages.size() == 0){ q.createDefaults(); } // set up our alarms for automatic background updating AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE); Calendar cal = new GregorianCalendar(); ModelList accounts = MPDDBHelper.getReferenceModel("service_account").getAll(); int [] account_ids = new int [accounts.size()]; for (int i = 0; i < accounts.size(); i++){ account_ids[i] = accounts.get(i).getID(); } alarmManager.setInexactRepeating(AlarmManager.RTC, cal.getTimeInMillis(), AlarmManager.INTERVAL_HOUR, PendingIntent.getService(this, 0, new Intent(this, TntImportService.class).putExtra("net.bradmont.openmpd.account_ids", account_ids), PendingIntent.FLAG_UPDATE_CURRENT) ); } private void verifySSLIgnore(final String host){ AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle(host) .setMessage(R.string.ask_add_ssl_exception); builder.setPositiveButton(R.string.ignore_certificate, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { SharedPreferences.Editor prefs = getSharedPreferences("openmpd", Context.MODE_PRIVATE).edit(); prefs.putBoolean("ignore_ssl_" + host, true); prefs.commit(); userMessage(R.string.ignoring_ssl); } }); builder.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { } }); Log.i("net.bradmont.openmpd", "Showing dialog"); builder.show(); } }